2014-09-17 2 views
1

Я использую Ubuntu 12.04 модернизированную GCC 4.7, как-то, когда я компилирую (мой Makefile FC использование gfortran) под пользователем, он говорит:Library Linking Ошибка на Ubuntu 12.04 LTS при компиляции

/usr/bin/ld: cannot find -lgfortran collect2: error: ld returned 1 exit status make: *** [build/x86_64/bin/libalgebra.0ae9caadf83b653d634cfc68d8570085.so] Error 1 

Я снова apt- Получите его, все тот же, почему я не мог ссылаться на него?

ответ

0

У вас есть pkg-config. Это очень удобно для этих ситуаций.

$pkg-config[Tab][Tab] 

будет автоматически заполнять каждую включенную библиотеку в вашей системе. Найдите библиотеку Fortran в этом списке на досуге.

Чтобы получить необходимый компоновщик флаг использовать

$pkg-config --libs gfortXX(library name) 

не установлена ​​эта Lib в моей системе, поэтому я не могу сказать вам точный результат. Но в качестве примера, мне нужно, чтобы получить компоновщик флаги для harfbuss библиотеки:

[email protected]:~$ pkg-config --libs harfbuzz 
-lharfbuzz 

Также страница людей является весьма полезной. Это не «BSD» - написано, но в целом полезно.

Вы также можете получить флаги компилятора pkg-config --cflags libname.

+0

Когда я использую: pkg-config --libs gtkxxx или gfortranxxx, он говорит: Пакет xxx не найден в пути поиска pkg-config. Что нужно добавлять и экспортировать в .profile под пользователем? –

+0

Все правильно установленные библиотеки регистрируют эти пути –

+0

Это под usr/bin/gfortran, как соединить с ним, я компилирую под пользователем, я вставляю в .profile и экспортирую его? –

Смежные вопросы