如何在 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)

在 OS X 的 Qt5.5 中找不到 qmake

如何在 Mac OS X 终端上使用 make 编译 C 程序

Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

Mac OS 简便安装zookeeper详细过程

Mac OS 简便安装zookeeper详细过程