我正在寻找使用CMake作为项目配置系统和gcc-4.8 / VS2012以及Qt5等额外的第三方库为Windows和Linux生成可再发行项目。如何创建具有所有所需依赖项的包并使项目在其他计算机上运行,而无需在这些计算机上安装所需的包(即Qt5设置)?
修改
谷歌严重我发现Qt5需要一些文件,我发现这个讨论 Application deployed with QT5 libraries does not start on Windows 7
解释了所需的Qt5依赖关系。
答案 0 :(得分:1)
通常,我会使用install
列出所需的文件,并使用CPack
来打包它们。也就是说,假设我想创建一个由以下组件组成的包:
my_nifty_library.dll
my_nifty_executable.exe
QtCore.dll
QtGUI.dll
(免责声明:我不是Qt专家,所以最后两个文件可能根本不存在,但你明白了。)
鉴于my_nifty_library
和my_nifty_executable
都是您项目的一部分,您可以控制它们,所以只需执行以下操作:
install(TARGETS my_nifty_library my_nifty_executable
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
现在,由于Qt不会作为项目的一部分构建,我建议您使用ExternalProject
模块。
现在,您可以使用CPack
并在已安装的文件中创建NSIS安装程序或tar.gz
。