【问题标题】:Generic Makefile for Qt ProjectQt 项目的通用 Makefile
【发布时间】:2015-04-04 21:58:58
【问题描述】:

我目前正在为我的学校开发一个项目。这是一款蛇类游戏,可以使用 3 种不同的图形。

它工作正常,但我想添加一个 Qt 触摸以便在游戏结束时显示一个窗口。我已经构建了窗口,但现在我需要将它与我的项目合并,并且我的项目必须使用 Makefile 进行编译。问题是我不知道是否可以使用唯一的 Makefile 构建我的项目。我通常使用 qmake -project、qmake 和 make 来构建我的 Qt 项目。

感谢您的帮助

【问题讨论】:

  • qmake生成一个Makefile,不让用吗?
  • 不..这是困难的部分,我在当前项目中使用 SDL、Opengl 和 SFML
  • 为什么不将它们分离到其他makefile中并使用qmake链接在一起?
  • @Nicolas 好吧,您应该能够为您的项目手动编写 Makefile,但请注意,对于 Qt,您需要调用 moc,快速谷歌搜索带来 this 可能是对你有用
  • 它看起来可以工作,但是使用这个 Makefile 它不能编译,#include no such file or directory

标签: c++ qt makefile


【解决方案1】:

没有通用的Makefile,它总是会根据您使用的平台、Qt 的安装位置、您链接的 Qt 库以及许多其他因素而有所不同。

对于这个简单的main.cpp

#include <QtGui>

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

    QPushButton button("Hello");
    button.show();

    return app.exec();
}

Makefile 可能是:

CC=g++
CFLAGS=-I. -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4
LIBS=-lQtGui -lQtCore

app: main.cpp
    $(CC) $(CFLAGS) $(LIBS) $< -o $@

如果你还需要信号和槽,你需要给Makefile添加一个单独的目标来运行moc。尝试调查 qmake 生成的内容并从中学习。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 2011-09-03
    相关资源
    最近更新 更多