Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CMake跨平台编译:文件无法创建目录:/data。可能需要管理权限_C++_Cmake_Cross Compiling_Cpack - Fatal编程技术网

C++ CMake跨平台编译:文件无法创建目录:/data。可能需要管理权限

C++ CMake跨平台编译:文件无法创建目录:/data。可能需要管理权限,c++,cmake,cross-compiling,cpack,C++,Cmake,Cross Compiling,Cpack,根据检测到的系统,我正在尝试编译tar.gz文件或.deb文件 使用下面的代码,当检测到的系统是Linux时,我能够成功地创建.deb文件,但是当为QNX编译时,它需要一个“.tar.gz”文件,我收到错误: file cannot create directory: /data. Maybe need administrative privileges. 系统的此命令不应也不能作为sudo运行,即使尝试作为sudo make install运行make命令,我也会收到与编译环境相关的错

根据检测到的系统,我正在尝试编译
tar.gz
文件或
.deb
文件

使用下面的代码,当检测到的系统是Linux时,我能够成功地创建
.deb
文件,但是当为QNX编译时,它需要一个“.tar.gz”文件,我收到错误:

file cannot create directory: /data.  Maybe need administrative
  privileges.
系统的此命令不应也不能作为
sudo
运行,即使尝试作为
sudo make install
运行make命令,我也会收到与编译环境相关的错误(为QNX配置)

My CMakeList.txt代码:

set(CPACK\u ARCHIVE\u组件安装)
如果(${CMAKE\u CXX\u PLATFORM\u ID})匹配QNX)
消息(状态“QNX已找到”)
设置(CPACK_发生器“STGZ”)
else()
消息(状态“默认为Linux”)
设置(CPACK_发生器“DEB”)
endif()
安装(
目标二进制
目标“/数据/”
)  
包括(注册会计师)
作为斯蒂芬·纽厄尔:


我猜您的
install
命令中的前导斜杠使cmake将其视为绝对目录。如果只使用
数据
而不是
/data/
,会发生什么情况


使用
数据
而不是
/data/
解决了问题

我猜您的
install
命令中的前导斜杠使cmake将其视为绝对目录。如果您只是使用
数据
而不是
/data/
,会发生什么情况?@StephenNewell就是这样谢谢:)