我看过有人说现在需要 Qt 5 项目将小部件添加到 QT 变量的帖子,这就是为什么 netbeans 中的简单 Qt 示例不起作用的原因:不能包含 QtGui/QApplication -> 没有这样的文件或目录。
如何将此添加到 QT 变量?我是否必须为 IDE 或 .bashrc 或不知何故的每个项目执行此操作?
问题是由于链接错误。这是因为它没有与 QtWidgets 链接。
g++ -m64 -Wl,-rpath,/opt/Qt5.0.1/5.0.1/gcc_64 -Wl,-rpath,/opt/Qt5.0.1/5.0.1/gcc_64/lib -o dist/Debug/GNU-Linux-x86/QtApplication_2 build/Debug/GNU-Linux-x86/main.o -L/usr/X11R6/lib64 -L/opt/Qt5.0.1/5.0.1/gcc_64/lib -lQt5Gui -lQt5Core -lGL -lpthread
首先我检查了使用来自 QtCore 的东西仍然有效。代码是:
#include <QtCore/QCoreApplication>
int main(int argc, char *argv[]) {
// initialize resources, if needed
// Q_INIT_RESOURCE(resfile);
QCoreApplication a(argc, argv);
// create and show your widgets here
return a.exec();
}
很好,所以我知道这只是链接错误。我仍然不知道要添加什么,因为您在 Netbeans 的项目属性的 Qt 选项卡中没有 QtWidget。但反复试验表明,检查此选项卡(模块)上的 QtOpenGl 就足够了,然后将其链接到更多库:
g++ -m64 -Wl,-rpath,/opt/Qt5.0.1/5.0.1/gcc_64 -Wl,-rpath,/opt/Qt5.0.1/5.0.1/gcc_64/lib -o dist/Debug/GNU-Linux-x86/QtApplication_1 build/Debug/GNU-Linux-x86/main.o -L/usr/X11R6/lib64 -L/opt/Qt5.0.1/5.0.1/gcc_64/lib -lQt5OpenGL -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread