根据检测到的系统,我正在尝试编译tar.gz
文件或.deb
文件。
使用下面的代码,当检测到的系统是Linux时,我能够成功地创建一个.deb
文件,但是当为QNX编译时,它需要一个".tar.gz"文件,我收到错误:
file cannot create directory: /data. Maybe need administrative
privileges.
系统的此命令不应该也不能作为sudo
运行,即使在尝试作为sudo make install
运行make命令时,我也会收到与编译环境有关的错误(为QNX配置(。
我的CMakeList.txt代码:
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
if( "${CMAKE_CXX_PLATFORM_ID}" MATCHES QNX )
message( STATUS "QNX found" )
set(CPACK_GENERATOR "STGZ")
else()
message( STATUS "defaulting to Linux" )
set(CPACK_GENERATOR "DEB")
endif()
install(
TARGETS binary
DESTINATION "/data/"
)
include(CPack)
正如Stephen Newell在评论中提到的:
我猜
install
命令中的前导斜杠使cmake将其视为一个绝对目录。如果只使用data
而不使用/data/
,会发生什么情况?
使用data
而不是/data/
解决了问题。