我在使用Xcode工具链为Boost构建胖库时遇到问题。在脚本中进行一些修复后,构建本身工作正常,但是当我在项目中使用它时,我收到链接器错误:
ld: in boost.framework/boost(atomic_lockpool.o), building for iOS simulator, but linking in object file built for OSX, for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
此外,我在Apple Developer论坛上找到same problem,但没有任何解决方案只是报告相同问题的人。
lipo -info
输出:
Architectures in the fat file: boost.framework/boost are: armv7 armv7s i386 x86_64 arm64
答案 0 :(得分:1)
现在它需要cxxflags="-miphoneos-version-min=7.0"
的其他标记bjam
。
以下是bjam
调用现在的样子(对于模拟器):
bjam -j$(CORES) --build-dir=$(IPHONESIM_BUILD_DIR) --stagedir=$(IPHONESIM_STAGE_DIR) --toolset=darwin-$(IPHONE_SDKVERSION)~iphonesim cxxflags="-miphoneos-version-min=7.0" architecture=x86 target-os=iphone macosx-version=iphonesim-$(IPHONE_SDKVERSION) link=static