c++ - qt命令行应用程序编译

标签 c++ macos qt command line

尝试编译这个简单的 qt 应用程序

#include <QApplication>
#include <QPushButton>

 int main(int argc, char *argv[])
 {
   QApplication app(argc, argv);

   QPushButton hello("Hello world!");
   hello.resize(100, 30);

   hello.show();
   return app.exec();
}

尝试编译

 g++ -I /usr/local/Cellar/qt5/5.8.0_1/Frameworks/QtGui.framework/Headers -o example main.cpp -framework QtGui -framework QtCore

获取错误

 main.cpp:1:10: fatal error: 'QApplication' file not found
 #include <QApplication>
     ^
 1 error generated.

已检查头文件是否存在并且它包含在目录中

 :Headers ali$ cd /usr/local/Cellar/qt5/5.8.0_1/Frameworks/QtGui.framework/
 $ ls
 Headers        QtGui       QtGui.prl   Resources   Versions

关于我哪里出错的任何建议

最佳答案

您告诉编译器查找“QApplication.h”的路径不包含“QApplication.h”:

-I /usr/local/Cellar/qt5/5.8.0_1/Frameworks/QtGui.framework/Headers

在典型安装中,“QApplication.h”将位于“QtWidgets”目录中,而不是“QtGui”目录中。所以您可能希望包含该目录。

关于c++ - qt命令行应用程序编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42091693/

相关文章:

c++ - 用于在字符串中查找字符序列的预构建函数?

C++ 外部 vector 变量错误

macos - Gradle构建后Android Studio macOS变慢

objective-c - AVAssetWriter 在 appendSampleBuffer : 之后变为 AVAssetWriterStatusFailed

macos - 在 Mac OS X 上的命令行上编辑资源分支

qt - 如何将 QMainWindow 更改为 QDialog

c++ - CMake - 不必要地构建了两次对象?

c++ - 如果只将非虚拟、非重载的成员函数添加到类中,是否需要用户重新编译?

c++ - 退出时多线程Qt应用程序不会停止

c++ - 在 Qt 中将文件保存到网络