通过 2011 mac book pro 在 Mac osx 10.7.4 上,我不断收到与以下问题相关的错误。
这些错误主要来自数学相关的开发库,这些开发库在各种 Linux 机器上编译和运行示例代码而没有错误,同时使用类似的 make 文件
我得到的错误通常是
ld: symbol(s) not found for architecture x86_64
这也发生在各种编译器上,无论我如何编译我链接的 lib、clang、各种版本的 gcc 甚至是 haskell 的 ghc
一些给我错误的库是
- PETSC(我从源代码编译,没有一个例子用 make test 编译)
- GSL(来自macports)给出了同样的错误
- FFTW ......而且名单还在继续
我相信罪魁祸首是某些地方(可能是编译器)是通过macports不正确地编译的,
例如gcc -v
说它是编译的Target: i686-apple-darwin11
--build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11
而所有其他编译器,clang,g++-mp-4.7 exc,都说 Target: x86_64-apple-darwin11
这个问题有什么解决办法吗?
有没有办法重新编译所有强制 64 位的东西?能解决上面的问题吗?