【问题标题】:Compilation QT Creator project using classic terminal and gcc/g++使用经典终端和 gcc/g++ 编译 QT Creator 项目
【发布时间】:2013-01-15 09:44:14
【问题描述】:

我厌倦了在互联网上搜索。 我创建了一个 kclient-serwer 程序,该程序仅通过特定端口上的 IP 关闭计算机。我用 C 语言制作了整个东西,一切正常,我正在使用带有 -Wall 选项的 gcc 编译我的项目,我已经清楚了结果。 但我必须创建 GUI,所以我决定使用 QT Creator IDE,我将代码从 C 转移到 C++ 并制作了 GUI。程序有效,但我必须使用带有 -Wall 选项的 g++ 编译它。 问题是,我无法编译任何东西。

g++ my_project.cpp -o mypro -Wall

ERROR: fatal error: QMainWindow: directory don't exist (in my native language)
compilation terminated
(same with other source files)

有什么想法吗? 这很容易,但相信我,我想编译这个然后去睡觉。干杯

【问题讨论】:

  • 在 Qt 世界中,您应该使用 .pro 文件来配置编译步骤,使用 qmake 处理 .pro 文件,然后在 qmake 生成的 makefile 上使用“make”来实际编译所有内容. makefile 将为您处理 gcc/g++。见qt-project.org/doc/qt-4.8/qmake-manual.html
  • 您可以在 Qt Creator 中set compiler arguments。不能使用 Creator 有什么原因吗?
  • @Mitch 如果没有警告,我的技术人员希望以这种方式查看它

标签: c++ qt compilation


【解决方案1】:

你为什么不使用 qmake?首先,您可以编辑您的 *.pro 文件并添加您希望的任何编译器标志(请参阅 Mitch 的评论)。然后,如果您执行qmake,然后执行make,它将显示一系列带有正确标志、链接器和包含路径等的编译命令。之后,如果您的老师愿意,您可以手动重现该命令。

【讨论】:

    【解决方案2】:

    错误表明编译器试图打开QMainWindow,就好像它是一个目录一样(如果翻译正确的话),或者至少找不到Qt的包含文件所在的位置。您可能需要提供一些 -I 选项来提示编译器 Qt 标头的位置,并确保 #include 指令在您的代码中是正确的。

    【讨论】:

    • 正确翻译:没有这样的文件或目录。如何使用这些 -l 提示?
    • @krzakov:假设 Qt 头文件安装在 /some/path 中,那么您可以在命令行中使用 -I/some/path 来指示编译器它也应该在该目录中搜索头文件。跨度>
    • @krzakov:不工作对正在发生的事情的描述非常不准确。确切的错误是什么,命令行中的选项是什么,Qt 标头在哪里?...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2020-02-03
    相关资源
    最近更新 更多