ld: library not found for -lgfortran
collect2: ld returned 1 exit status
make[2]: *** [vigranumpy/private/graph/tws/svs.dylib] Error 1
make[1]: *** [vigranumpy/private/graph/tws/CMakeFiles/svs.dir/all] Error 2
make: *** [all] Error 2
我希望所有内容都安装在/ opt / local /中,因为我不想触摸系统(/ usr /)。 gFortran不适用于macports。您可以使用gcc46作为变体进行安装。但是如果我使用gcc46而不是默认的编译器,那么之前的代码需要编译。 我该如何解决这个问题?
亲切的问候
答案 0 :(得分:2)
有关如何使用其他编译器的信息,请参阅CMake FAQ:
要使用macports中的gfortran作为fortran编译器,你应该:
export FC=/opt/local/bin/gfortran
export CC=/opt/local/bin/gcc
export CXX=/opt/local/bin/g++
......在致电CMake之前。然后,在设置了这样的环境变量调用CMake之后,它将缓存CMakeCache.txt文件中的编译器路径,因此对于后续运行,您不再需要设置环境变量。
对于混合语言(C,C ++,Fortran)项目,重要的是编译器都能很好地相互配合。
此建议仅适用于“Unix Makefile”生成器。我不知道有任何人通过Xcode与CMake一起使用fortran。