开发者

QMake Linking Problem With GCC

I have a problem with qmake and the make file that it generates. My program needs to be linked against开发者_开发百科 two libraries. I add them in main.pro as follows.

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

How ever I arrange the above line qmake tells gcc this.

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

The problem is that it should look like this.

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

GCC gives the following error.

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

Thanks in advance.


You should not put spaces between the flags and the arguments:

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

Or

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

And why are your static/import libraries in the "bin" directory? There should be .a files in the "lib" directory.


You could try putting the library search paths under the QMAKE_LIBDIR tag. So your qmake file would have:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜