我使用CMake和CPack的组合来生成一个包。这是我的CMake文件的CPack部分:

set(CPACK_GENERATOR "DEB")
SET(CPACK_PACKAGE_VENDOR "Company")
set(CPACK_COMPONENTS_ALL exe link configs lastversion script log monitor)
set(CPACK_PACKAGE_FILE_NAME "${PRODUCT}")
set(CPACK_PACKAGE_VERSION ${MAJOR}.${MINOR}.${PATCH})
set(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PATCH})
set(CPACK_DEBIAN_PACKAGE_DEPENDS "")
set(CPACK_PACKAGE_DESCRIPTION "Some Description")
set(CPACK_PACKAGE_CONTACT "[email protected]")

include(CPack)

在我的计算机(64位)上,执行“make package”会给我一个功能齐全的.deb包:
运行CPack打包工具。。。
CPack:使用DEB创建包
CPack:安装项目
CPack:-为:XXX运行预安装目标
CPack:-安装项目:XXX
CPack:创建包
CPack:-package:/home/username/xxx-B-4.0.0.deb生成。
但是在另一个系统(32位Lenny)上,使用相同的CMake文件执行相同的命令,会得到一个空的.deb包。怎么了?
32位系统输出:
运行CPack打包工具。。。
CPack:使用DEB创建包
CPack:安装项目
CPack:-为:XXX运行预安装目标
CPack:-安装项目:XXX
压缩包
CPack:完成包
CPack:Package/home/username/xxx-B-4.0.0.deb生成。
我已经强调了输出之间的区别。

最佳答案

尝试在两个平台上使用相同的版本,即2.8。可能是在2.6中需要额外的参数,或者沿着这条线。

关于linux - CPack:“make package”生成一个空的deb包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23474069/

10-12 17:45