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

新手上路,请多包涵

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

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

原文由 Squall 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 771
2 个回答

你当然可以。虽然使用 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 手册页 引用:

如果您只使用 GNU make,这是一个有用的 makefile 规则:

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

我个人将输出命名为 `%.moc.cpp` (而不是 `m%.cpp` )。然后在 `my_prog` 上添加 `my_prog.moc.cpp` 的依赖项

my_prog: my_prog.cpp my_prog.moc.cpp


对于 [uic](http://linux.die.net/man/1/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

”`

原文由 jpalecek 发布,翻译遵循 CC BY-SA 2.5 许可协议

我喜欢使用 Vim 和 Qt Designer 的简化版本使用 Qt 进行编程……最后一个帮助我制作窗口原型……然后我将 Qt Designer 的层次结构转换为我在 Vim 上手动编码的窗口标题……

结果是我所有的代码都由我自己维护……没有.ui,没有ui_.cpp ..没有ui指针……所以我可以自由地操作我的代码。

原文由 Mikeh Miiikeh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题