Qt 链接器错误 Qmake + Makefile
Qt linker errors Qmake + Makefile
我想在 Qt Creator 之外构建一个 Qt 项目,所以我使用 qmake 在以下项目文件上生成一个 Makefile:
TEMPLATE = app
TARGET = test
INCLUDEPATH += . \
/usr/include/qt5/QtWidgets/
QMAKE_CXXFLAGS += --std=c++11
# Input
SOURCES += test.cc
这也是由 qmake 生成的,禁止 c++11 标志和第二个包含路径。 Makefile 包含 link 个指向 Qt 库的路径
LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5Gui -L/usr/lib/x86_64-linux-gnu -lQt5Core -lG L -lpthread
上面的奇怪之处在于我没有 /usr/X11R6
文件夹。相反,libQt5Gui.so
位于 /usr/lib/x86_64-linux-gnu
,所以我有点困惑 X11R6 来自哪里。
无论如何,这是我的 linker 输出:
test.cc:(.text.startup+0x20): undefined reference to `QApplication::QApplication(int&, char**, int)'
test.cc:(.text.startup+0x25): undefined reference to `QApplication::exec()'
test.cc:(.text.startup+0x2f): undefined reference to `QApplication::~QApplication()'
test.cc:(.text.startup+0x43): undefined reference to `QApplication::~QApplication()'
以上是构建如下源的结果:
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
return app.exec();
}
当我尝试在 Qt Creator 中构建项目文件时,出现相同的错误。我缺少图书馆吗?还是配置有误?
(我在 Ubuntu 14.04 上,我刚刚从存储库安装了 qtcreator
包,假设所有开发库都将与其一起安装。)
如the docs所述,您需要包含小部件库才能使用QApplication
。
将此添加到您的项目文件中:
QT += widgets
如果您不打算构建 GUI 应用程序,请改用 QCoreApplication
。它没有那种依赖性。
我想在 Qt Creator 之外构建一个 Qt 项目,所以我使用 qmake 在以下项目文件上生成一个 Makefile:
TEMPLATE = app
TARGET = test
INCLUDEPATH += . \
/usr/include/qt5/QtWidgets/
QMAKE_CXXFLAGS += --std=c++11
# Input
SOURCES += test.cc
这也是由 qmake 生成的,禁止 c++11 标志和第二个包含路径。 Makefile 包含 link 个指向 Qt 库的路径
LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5Gui -L/usr/lib/x86_64-linux-gnu -lQt5Core -lG L -lpthread
上面的奇怪之处在于我没有 /usr/X11R6
文件夹。相反,libQt5Gui.so
位于 /usr/lib/x86_64-linux-gnu
,所以我有点困惑 X11R6 来自哪里。
无论如何,这是我的 linker 输出:
test.cc:(.text.startup+0x20): undefined reference to `QApplication::QApplication(int&, char**, int)'
test.cc:(.text.startup+0x25): undefined reference to `QApplication::exec()'
test.cc:(.text.startup+0x2f): undefined reference to `QApplication::~QApplication()'
test.cc:(.text.startup+0x43): undefined reference to `QApplication::~QApplication()'
以上是构建如下源的结果:
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
return app.exec();
}
当我尝试在 Qt Creator 中构建项目文件时,出现相同的错误。我缺少图书馆吗?还是配置有误?
(我在 Ubuntu 14.04 上,我刚刚从存储库安装了 qtcreator
包,假设所有开发库都将与其一起安装。)
如the docs所述,您需要包含小部件库才能使用QApplication
。
将此添加到您的项目文件中:
QT += widgets
如果您不打算构建 GUI 应用程序,请改用 QCoreApplication
。它没有那种依赖性。