Как установить gfortran под macports и использовать его с cmake? - PullRequest
2 голосов
/ 14 февраля 2011

надеюсь, кто-то может мне помочь.Мне нужно скомпилировать код.Я установил все, что мне нужно, с помощью macports, в / opt / local /.И работает как надо, кроме gFortran.Я получаю эту ошибку:

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 недоступен для макпортов.Вы можете установить его с gcc46 как вариант.Но если я использую gcc46 вместо компиляторов по умолчанию, то код, который я хочу компилировать.Как я могу это исправить?

С уважением

1 Ответ

2 голосов
/ 23 февраля 2011

См. CMake FAQ о том, как использовать другой компилятор:

Чтобы использовать gfortran из macports в качестве компилятора Фортрана, вы должны:

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 Makefiles".Я не знаю никого, кто использует фортран через Xcode вместе с CMake.

...