LINUX.ORG.RU

[QTCreator] линковка


0

0

Такая трабла: необходимо слинковать мою программу с libf2c. Если линкую с libf2c.so, то получаю ошибку undefined reference to `MAIN__'
Прочитал, что надо линковать с libf2c.a (в таком случае все нормально). Делал программу в Эклипсе. Там можно было задавать пути к линкуемым либам и все нопмально линковалось.

Для того чтобы слинковать я сделал ссылку /usr/local/lib/libf2c.so, которая ссылается на /usr/lib/libf2c.a
Вопрос 1: Как при компиляции линковать c *.a файлами?
Сейчас делаю в QTCreator'е (навешиваю GUI). Нашел, что в нем надо писать

LIBS += -L/usr/local/lib  -lboost_regex -llapack -lgslcblas -llevmar -lnewton -lga -lnewmat -lopt -lf2c
Но при сборке получаю ту же undefined reference to `MAIN__'
Смотрю вывод компиляции и вижу:
 -L/usr/lib -L/usr/local/lib -lboost_regex -llapack -lgslcblas -llevmar -lnewton -lga -lnewmat -lopt -lf2c
Вопрос 2: Как мне поменять в QTCreator порядок путей (чтобы было -L/usr/local/lib -L/usr/lib)?

>Вопрос 2: Как мне поменять в QTCreator порядок путей (чтобы было -L/usr/local/lib -L/usr/lib)?

порядок путей пути разницы не имеет, если линкуешь с .a, то это статика. Просто пропиши /путь/к/твоей/libчто-то-там.а в список ключей

lester_dev ★★★★★
()

>Для того чтобы слинковать я сделал ссылку /usr/local/lib/libf2c.so, которая ссылается на /usr/lib/libf2c.a

и запомни: НИКОГДА ТАК НЕ ДЕЛАЙ. Под страхом смерти. Иначе ld.linux.so будет съезжать с катушек, когда ему вместо елфа подсунут coff.

lester_dev ★★★★★
()
Ответ на: комментарий от lester_dev

Спасибо!

и запомни: НИКОГДА ТАК НЕ ДЕЛАЙ. Под страхом смерти. Иначе ld.linux.so будет съезжать с катушек, когда ему вместо елфа подсунут coff.

Учту.

spike_by
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.