我在 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/