如何使用Qt pro文件导出头文件

4
我有一个包含以下文件的项目:
TestProject/api/apiheader1.h
TestProject/api/apiheader2.h
TestProject/src/apiimplementaton.cpp
TestProject/inc/apiimplementation.h
TestProject/TestProject.pro

当构建项目 TestProject.pro 时,需要将头文件 apiheader1.h、apiheader2.h 复制到 /usr/include/TestLib/。是否可以在项目文件 TestProject.pro 中指定此操作?
任何提示/链接都将有所帮助。

只是为了澄清一下,它必须在构建时发生吗?如果这不重要的话,你可以相当容易地设置一个系统,在你键入"make install"时将它们移动。 - Caleb Huitt - cjhuitt
除了Makefile是由使用.pro文件的qmake生成的,这就是他提出问题的原因。 - tim
2个回答

6
您可以将此添加到pro文件中... 在qmake中,您可以添加额外的目标...copyheaders会在目标构建后运行。
QMAKE_EXTRA_TARGETS += copyheaders  
POST_TARGETDEPS += copyheaders  

copyheaders.commands += mkdir -p /usr/include/TestlLib  
copyheaders.commands += cp -f PATH_TO_HEADERS/apiheader1.h /usr/include/TestLib  
copyheaders.commands += cp -f PATH_TO_HEADERS/apiheader2.h /usr/include/TestLib  

0

只移动标题,不移动源代码。 - Suresh
不确定您的评论意思,您可以使用cp调用来控制移动什么。至于我的第一个评论,构建过程中任何时候移动文件都感觉很奇怪。您可以使用gcc -I参数(qmake变量INCLUDE_DIRS)来添加更多目录以查找头文件。移动文件意味着在进行更改和检入版本控制系统时必须特别小心。 - e8johan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接