QMake Проблема с соединением с GCC - PullRequest
1 голос
/ 08 августа 2011

У меня проблема с qmake и сгенерированным файлом make.Моя программа должна быть связана с двумя библиотеками.Я добавляю их в main.pro следующим образом.

LIBS += -L lib/somelib1/bin -lsomelib1 -L lib/somelib2/bin -lsomelib2

Как бы я ни разместил вышеприведенную строку, qmake сообщает gcc об этом.

g++ -o programname someobject.o -L lib/somelib1/bin lib/somelib2/bin -lsomelib1 -lsomelib2

Проблема в том, что она должна выглядеть следующим образом.

g++ -o programname someobject.o -L lib/somelib1/bin -L lib/somelib2/bin -lsomelib1
-lsomelib2

GCC выдает следующую ошибку.

lib/somelib2/bin: file not recognized: Is a directory

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 08 августа 2011

Вы не должны ставить пробелы между флагами и аргументами:

LIBS += -Llib/somelib1/bin -lsomelib1 -Llib/somelib2/bin -lsomelib2

или

LIBS += -L"lib/somelib1/bin" -lsomelib1 -L"lib/somelib2/bin" -lsomelib2

А почему ваши статические / импортные библиотеки находятся в каталоге "bin"? В каталоге "lib" должно быть .a файлов.

0 голосов
/ 08 августа 2011

Вы можете попробовать поместить пути поиска библиотек под тегом QMAKE_LIBDIR. Таким образом, ваш файл qmake будет иметь:

QMAKE_LIBDIR += lib/somelib1/bin lib/somelib2/bin
LIBS += -lsomelib1 -lsomelib2
...