由于一段不幸的历史,OpenAL.framework包含了ALUT1.0的符号。我正在从事一个受益于ALUT 1.1的项目,因此我将ALUT编译为一个框架(来自免费源代码)。
不幸的是,这意味着在ALUT.framework和OpenAL.framework中都定义了某些符号,我真的需要一种方法来确保优先选择ALUT符号。我已经在link命令的OpenAL之前命令了ALUT,因此在最终二进制文件的otool输出中也是如此,但是(由于延迟绑定?)在一种情况下选择OpenAL符号。(实际上在应用程序关闭时,alutExit调用出错)
我意识到这与dyld的设计不一致,但我坚持使用苹果官方的OpenAL框架。我可以修改我的ALUT框架以使用自定义符号名称,但我希望有一个更整洁的(如果是hacky的)变通方法,在考虑OpenAL之前强制所有ALUT符号被贪婪地绑定。
发布于 2014-08-28 21:42:38
不是一个真正的答案,但我想我应该把这个从‘未回答’列表中删除-我们在那个项目中停止了使用ALUT。
https://stackoverflow.com/questions/9872477
复制相似问题