我遇到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
提前致谢。
答案 0 :(得分:2)
你不应该在标志和参数之间加上空格:
LIBS += -Llib/somelib1/bin -lsomelib1 -Llib/somelib2/bin -lsomelib2
或
LIBS += -L"lib/somelib1/bin" -lsomelib1 -L"lib/somelib2/bin" -lsomelib2
为什么你的静态/导入库在“bin”目录中? “lib”目录中应该有.a
个文件。
答案 1 :(得分:-1)
您可以尝试将库搜索路径放在QMAKE_LIBDIR标记下。所以你的qmake文件会有:
QMAKE_LIBDIR += lib/somelib1/bin lib/somelib2/bin
LIBS += -lsomelib1 -lsomelib2