从 OS X 终端编译 Qt 示例的问题

Posted

技术标签:

【中文标题】从 OS X 终端编译 Qt 示例的问题【英文标题】:Problem compiling Qt example from OS X terminal 【发布时间】:2010-11-06 20:23:16 【问题描述】:

我目前正在通过阅读电子书“C+ GUI Programming with Qt 4, Second Edition”中的示例来学习 Qt。

第一个示例是“Hello World”应用程序。按照示例中的步骤,我已经能够创建以下文件:

hello.cpp,输入提供的代码。 hello.pro,通过使用 OS X 终端命令“qmake -project”。 hello.xcodeproj 和 info.plist 使用命令“qmake hello.pro”

但是,我无法创建“hello.app”

命令“make”产生:

"make: *** No targets specified and no makefile found.  Stop."

命令“打招呼”产生:

g++     hello.cpp   -o hello
hello.cpp:1:24: error: QApplication: No such file or directory
hello.cpp:2:18: error: QLabel: No such file or directory
hello.cpp: In function ‘int main(int, char**)’:
hello.cpp:6: error: ‘QApplication’ was not declared in this scope
hello.cpp:6: error: expected `;' before ‘app’
hello.cpp:7: error: ‘QLabel’ was not declared in this scope
hello.cpp:7: error: ‘label’ was not declared in this scope
hello.cpp:7: error: expected type-specifier before ‘QLabel’
hello.cpp:7: error: expected `;' before ‘QLabel’
hello.cpp:9: error: ‘app’ was not declared in this scope
make: *** [hello] Error 1

虽然我无法使用这两个命令从终端创建“hello.app”,但我可以通过打开 Xcode 并按下“Build and Go”按钮来创建它。

谁能告诉我为什么这两个命令不起作用?以及如何从终端制作“hello.app”?

谢谢!

【问题讨论】:

【参考方案1】:

我看到qmake 为您生成了一个*.xcodeproj 文件。尝试运行 xcodebuild 而不是 make :)

【讨论】:

感谢马格努斯霍夫! xcodebuild 成功了!这就是我需要知道的! 另外值得一提的是,如果你想生成makefile而不是xcodeproj,你可以调用qmake -spec macx-g++ @Kamil Klimek:谢谢。我一直在寻找那个,但不知何故从未发现:)【参考方案2】:

您的 makefile 路径中似乎没有包含来自 Qt SDK 的目录。你还记得运行 QMake 吗?

【讨论】:

【参考方案3】:

我建议你下载并安装Qt SDK。然后熟悉Qt Creator,Qt 的 IDE。由于所有框架和文档都已为您安装和配置,因此这种方式要容易得多。

【讨论】:

以上是关于从 OS X 终端编译 Qt 示例的问题的主要内容,如果未能解决你的问题,请参考以下文章

在 OS X 上安装 Qt 库

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

Qt 5.4 - Mac OS X 10.6 支持

Qt 的编译警告 - 仅限 Mac OS X:<class> 已经是 <class> 的朋友

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

Mac OS X 上的 Qt 安装问题