我一直在通过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
一些给我错误的库是
我认为罪魁祸首是某些地方某些东西(可能是编译器)是通过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位的所有内容?这会解决上述问题吗?
答案 0 :(得分:1)
Mac OS X有自己的构建工具链,所以这可能是路径问题。
检查
which gcc
并将路径与您知道来自mac端口的任何库(可能在/ opt / bin中)进行比较。
作为解决方案,将/ opt / bin路径放在$ PATH的开头应该可以解决。