如何在 Mac OS 的命令行中编译 Qt 代码
Posted
技术标签:
【中文标题】如何在 Mac OS 的命令行中编译 Qt 代码【英文标题】:how to compile Qt code in command line on Mac OS 【发布时间】:2011-03-12 06:13:44 【问题描述】:我下载这个:http://get.qt.nokia.com/qt/source/qt-mac-opensource-4.7.2.dmg 并安装它。 然后我得到了一个 Qt helloworld.cc。
#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();
我试图编译它但失败了。 "
'QApplication' 没有在 这个范围“
我该如何解决?
【问题讨论】:
【参考方案1】:你也可以这样做(希望我没有错):
$ qmake -project
$ qmake
$ make
当然你应该 cd 到你的源文件。另外,我认为在使用 Qt 时坚持使用 *.cpp
文件命名是个好主意
【讨论】:
MAC 上的 qmake 默认会创建 xproject 项目。必须使用带开关的 qmake。例如:qmake -spec macx-g++ @koan:我并不是说有问题,这只是一个好主意。对我来说, *.cc 文件与纯 C 相关联。@Valentin Heinitz:我已经从源代码编译了 Qt,默认情况下它会生成一个 makefile。我认为它可以在 .pro 文件中进行配置——默认生成的内容。 在什么世界 .cc 文件与纯 C 相关联?见en.wikipedia.org/wiki/C%2B%2B @koan:你说得对,这只是在我的世界里,但这里有一个关于这个特定主题的链接:***.com/questions/1545080/…【参考方案2】:它适用于我。您没有显示命令行,但似乎您没有传递正确的标志来告诉编译器标头/框架在哪里。这是我使用的:
g++ -I /Library/Frameworks/QtGui.framework/Versions/4/Headers \
-o example example.cpp \
-framework QtGui -framework QtCore
【讨论】:
很好,谢谢兄弟。你节省了我的时间! 使用单行 .pro 文件和“qmake;make”而不是直接调用 g++ 会不会更好/更容易? 如果你想做的不仅仅是一个快速的 hello world 测试,那么编译 Qt 软件的正确方法是使用项目文件和 qmake。以上是关于如何在 Mac OS 的命令行中编译 Qt 代码的主要内容,如果未能解决你的问题,请参考以下文章
OBS MAC 系统开发(基于mac OS X 10.12)
如何在 Mac OS X 终端上使用 make 编译 C 程序