boost和quantlib for ios中的链接器警告-似乎无法摆脱可见性警告

boost和quantlib for ios中的链接器警告-似乎无法摆脱可见性警告,ios,xcode,boost,linker,quantlib,Ios,Xcode,Boost,Linker,Quantlib,我已经能够在XCode 4.6和iOS 6.1(以及armv7s!)上编译和构建boost和quantlib的框架: boost-使用boostoniphone galbraithjosephs脚本修改为ios 6.1和提升1_53_0(谢谢Joseph!) quantlib-使用Philip Barnes脚本,并对ios 6.1和quantlib 1.2.1进行了修改 (谢谢你,菲利普!) 当我在Xcode中运行FXVanillaSwapExample(同时使用boost.framewor

我已经能够在XCode 4.6和iOS 6.1(以及armv7s!)上编译和构建boost和quantlib的框架:

  • boost-使用boostoniphone galbraithjosephs脚本修改为ios 6.1和提升1_53_0(谢谢Joseph!)
  • quantlib-使用Philip Barnes脚本,并对ios 6.1和quantlib 1.2.1进行了修改 (谢谢你,菲利普!)
当我在Xcode中运行FXVanillaSwapExample(同时使用boost.framework和ql.framework)时,我得到了56条警告和2条错误,主要与以下内容有关: ld:警告:在xyz中直接访问xyz的全局弱符号vtable表示无法在运行时覆盖该弱符号。这可能是由使用不同可见性设置编译的不同翻译单元造成的。 及 ld:警告:在QuantLib::RecoveryRateQuote::value()常量中直接访问全局弱符号QuantLib

我收到了Quantlib和boost的这些警告。然后我阅读了关于可见性设置的帖子

boost由脚本编译,其中-fvisibility=hidden-fvisibility inlines hidden quantlib是在-fvisibility=隐藏但不隐藏-fvisibility内联线的情况下编译的

我修改了quantlib脚本,添加了隐藏的-fvisibility内联线,然后重新构建了它,但没有任何效果。相同的链接器错误

我还尝试在XCode构建设置中使用“内联方法隐藏”和“默认隐藏的符号”(这些必须在幕后设置相同的-f标志)

因此,我尝试用-fvisibility=default重新构建boost和quantlib,并删除了-fvisibility inlines hidden标志。这也没用。构建FXVanillaSwapExample时再次出现相同的链接器错误

所以我猜我没有正确地设置构建,并且在构建中的某个地方-f标志被弄乱了。我只是不知道如何诊断这是如何发生的。我很欣赏你的想法