我使用cmake(LLVM项目)构建了一个项目,并尝试通过发出以下命令来安装它:
$ cmake3 --build . --target install
如果我使用root运行它,那么没有问题,文件将安装在/ usr / local /目录下。
我的问题是我想使用普通用户安装项目。
我收到以下错误:
CMake Error at cmake_install.cmake:36 (file):
file INSTALL cannot set permissions on "/usr/local/include/llvm"
我已将目录/ usr / local /的权限递归更改为777,并将其所有权更改为root:wheel并将我的普通用户添加到组轮。但我仍然无法将文件安装到/ usr / local /目录中。
主要问题是在Eclipse中构建项目,该项目在" Build Install"命令。
答案 0 :(得分:1)
chmod 777 -R /
是一个非常可怕的命令。这样就破坏了一个系统。
我使用的哲学是:
对我来说,我这样做:
cmake $src
cmake --build . --target install -- DESTDIR=stage
这将配置我的项目,制作它,然后将其本地安装在构建目录中名为./stage
的文件夹中。然后,我可以从./stage/usr/bin
运行我的可执行文件。请注意,这仅在make
是您的生成器时有效。
对它进行测试并感到很高兴后,我会将其打包并部署到我的系统或上传到存储库:
cpack
sudo dpkg -i <package>.deb