c++ - qmake:将单个cpp文件编译成可执行文件

标签 c++ qt qmake

我在 QT 中有一个项目,我想使用 qmake 编译一个额外的 cpp 文件,该文件(到独立的可执行文件中)没有以任何方式连接到我的应用程序甚至 QT(它是非常简单的纯 C++ 程序)。有没有办法在不重建整个项目结构的情况下做到这一点?我是否需要为每个可执行文件单独的 .pro 文件,或者是否有任何其他方法可以简单地只编译一个普通的 C++ 文件?

最佳答案

如您所知,qmake -project 将生成一个 .pro 文件,其中的文件夹名称包含您的整个源文件和头文件,如果您 qmake 这个 pro 文件然后 make 你的项目你将从你的新 cpp 文件获得编译的 .o 文件,即使它没有直接连接到你的 Qt 项目。

但是如果这个文件有 main() 函数,编译器当然会有多个 main() 定义错误。

当然你需要重建那个文件

如您所知,对于仅一个标准纯 C++ 文件的简单编译,您只需

g++ source.cpp -o excutable_name.exe

通过两个步骤进行更严格的编译:

g++ -Wall -pedantic -ansi source.cpp -c compiled_file_name.o
g++  compiled_file_name -o excutable_name.exe

但是如果您要使用与 Qt 相关的代码,则必须包含 Qt header 并链接必要的库:

g++ -Wall source.cpp -c compiled_file_name.o -L qt/library/path -lQtGui -lQtCore  -lQtother_necessary_libraries -I Qt/include/path -I Qtother_necessary_include_paths

关于c++ - qmake:将单个cpp文件编译成可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28534205/

相关文章:

C++ 带星号的寻路,优化

c++ - 使用 I2C 协议(protocol)从磁力计读取值

c++ - 使用 INSTALLS 变量安装 Qmake 的依赖项

c++ - 在 map 中就地构建不可 move 的对象

c++ - Unreal Engine - 如何通过 C++ 代码获取 AxisMappings

c++ - 如何使用 css 更改 QStackedWidget 中 QWidget 的背景颜色?

c++ - 在 Windows 启动时调用应用程序无法正常启动

c++ - Qt - 从布局中删除所有小部件?

c++ - 使用 qmake/Qt Creator 与调试/发布库链接

c++ - qmake配置的含义是什么