c++ - 我可以在没有 qmake 或 Qt Creator 的情况下使用 Qt 吗?

标签 c++ qt compilation

我想使用 Qt 进行编程,但我不想使用特殊的编译器或 IDE,例如 Qt Creator 和 qmake。我想和Kate一起写,用g++编译。

我可以编译一个使用 Qt 和 g++ 的程序吗?如何用 g++ 编译?

最佳答案

当然可以。虽然使用 qmake 或 CMake 更方便,但您可以这样做:

CXXFLAGS += -Ipath_to_your_qt_includes
LDFLAGS += -Lpath_to_your_qt_libs

LDLIBS += -lqt-mt (for Qt3)

LDLIBS += -lQtCore -lQtGui (for Qt4, add what you need)

my_prog: my_prog.cpp

(在生成文件中)

更新 - 调用 moc:

引自 moc manpage :

Here is a useful makefile rule if you only use GNU make:

m%.cpp: %.h
        moc $< -o $@

我个人将输出命名为 %.moc.cpp(而不是 m%.cpp)。然后添加 my_progmy_prog.moc.cpp

的依赖
my_prog: my_prog.cpp my_prog.moc.cpp

同样适用于 uic .这里的情况更复杂,因为你必须为头文件源文件生成规则,并且你必须添加对头文件的依赖以确保它在源代码编译之前生成。这样的事情可能会奏效:

my_prog: my_prog.o my_prog.moc.o my_prog.ui.o
        $(CXX)  $(LDFLAGS) -o my_prog $^ $(LDLIBS)

my_prog.o: my_prog.cpp my_prog.ui.h

关于c++ - 我可以在没有 qmake 或 Qt Creator 的情况下使用 Qt 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3632038/

相关文章:

c++ - 将 Qt Qml 应用程序部署到 Windows 显示了一个空白窗口

windows-10 - 尝试为 Windows 10 (x86_64) 静态编译 FFmpeg 4.2.3,但二进制文件要求缺少 DLL

delphi - 未使用单位的影响是什么?它会使输出的exe更大吗?

c++ - C++ 中二元谓词的求值

c++ - 使用 C 从事件目录访问用户信息

c++ - QThread 永远不会启动

c++ - 如何制作一个带有2个在Qt运行时同时打开的窗口的程序?

compilation - 在Linux下进行Cuda编译时,非常简单的Makefile的外观应该如何

c++ - 即使直接从官方示例复制,也找不到未知类型名称 QML_ELEMENT 和 QML 模块

c++ - 在共享库的公共(public)接口(interface)中隐藏 boost::serialisation