我刚刚开始开发一个小型KDE应用程序作为我自己的测试,我遇到了一些问题,如何使用我已基本克服的cmake。目前我的应用程序构建正常(即cmake&& make运行没有错误)。但是,运行'make install'会出现以下错误:
kemra102@kaon:~/projects/kquickformat/build> make install
[ 0%] Built target kquickformat_automoc
Scanning dependencies of target kquickformat
[ 50%] Building CXX object src/CMakeFiles/kquickformat.dir/kquickformat_automoc.o
Linking CXX executable kquickformat
[100%] Built target kquickformat
Linking CXX executable CMakeFiles/CMakeRelink.dir/kquickformat
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/kquickformat
CMake Error at src/cmake_install.cmake:38 (FILE):
file INSTALL cannot copy file
"/home/kemra102/projects/kquickformat/build/src/CMakeFiles/CMakeRelink.dir/kquickformat"
to "/usr/local/bin/kquickformat".
Call Stack (most recent call first):
cmake_install.cmake:37 (INCLUDE)
make: *** [install] Error 1
任何想法对我自己来说都不是很明显?
答案 0 :(得分:3)
您的用户帐户(至少 不具备)对/usr/local/bin
具有写入权限。试试sudo make install
。
答案 1 :(得分:3)
要安装到默认位置,您通常需要root权限。因此,要么使用sudo make install
,要么重新运行cmake
,指定具有写入权限的安装前缀。例如,我使用:
cmake -DCMAKE_INSTALL_PREFIX=$HOME/install/
如果这样做,请记住设置所有与Qt和KDE相关的环境变量,否则您安装的应用程序将无法正常工作或根本无法正常工作。我通常调用一个类似于:
的shell函数export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/install/lib
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/install/lib/pkgconfig
export KDEDIR=$HOME/install
export KDEDIRS=$KDEDIR
export XDG_DATA_DIRS=$XDG_DATA_DIRS:$HOME/install
export QT_PLUGIN_PATH=$QT_PLUGIN_PATH:$HOME/install/plugins