在GCC中产生链接问题

QMake Linking Problem With GCC

本文关键字:链接 问题 GCC      更新时间:2023-10-16

我有一个问题与qmake和它生成的make文件。我的程序需要对两个库链接。我把它们添加到main中。

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

你不应该在标志和参数之间使用空格:

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

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

为什么你的静态/导入库在"bin"目录下?lib目录下应该有.a文件

您可以尝试将库搜索路径放在QMAKE_LIBDIR标记下。所以你的qmake文件会有:

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