osx - boost和python在x86_64架构下未定义符号
我正在使用C++11和Python 2.7.8,还有Boost 1.55.0。我是在一个通用架构下编译的,使用的是OS X 10.9的SDK。我正在编译libRocket的Python绑定,这需要用到Boost和Python。我已经安装了这两个,并通过CMake生成了.xcodeproj文件。但是在编译时,我遇到了一个错误,怎么也搞不明白是什么原因。我尝试下载并安装了32位和64位的Boost和Python库,但没有任何变化。我还用lipo -info检查过,库里包含了i386和x86_64这两种架构。
错误信息: http://pastebin.com/DnVqSy9P
任何帮助都非常感谢!
1 个回答
0
结果发现,Python框架坏掉了。为了将来遇到类似问题时能更顺利解决,以下是我建议你采取的步骤。
1) 检查所有安装的内容。确保它们没有损坏,并且在正确的位置。
2) 确保它们和项目是连接在一起的。如果没有连接,你会看到一个以ld:开头的错误信息,里面会有linker这个词。
3) 确保你使用的库或框架是为32位和64位架构编译的。
4) 如果你是从头编译库或框架,确保是为通用架构编译的。
5) 确保"Build Active Architectures Only"设置为否!
6) 确保你的项目是为32位或64位!构建的,并且你的电脑架构与项目要求的一致!