在我看来/情况下,这是开发人员的“问题”。我怀疑这主要发生在新开发人员身上,所以我更深入地把它放在正确的角度:
为了“不弄乱”用于日常工作的原始系统文件并将新编译的和易失的程序分离到一个单独的位置,通常不仅要更改而且添加/安装类似于原始 OS 文件夹结构的完整文件夹结构特殊的“发展”位置。所以或多或少是原始文件夹的镜像文件夹结构,但连接/链接到原始资源。
在那里,我们需要向environment variable
我们的用户 bash 配置文件添加一个我们告诉系统的位置:“将我们的开发文件夹链接到以下方向/目录。”
在 Arch Linux 上,这是在一个文件中完成的~/.bashrc
- 该文件由~/.bash_profile
(“~”代表/home/your user name/
)链接/转发/转发,MacOS/Unix 将类似。要做到这一点,有两种方法:
- 您可以打开 .bashrc 文件并将您的环境路径添加到它的底部,或者
- 您可以使用“导出”将环境变量放在用户 bash 文件中的正确位置。
对于 kde 开发,例如,您需要在 ~/.bashrc 文件的末尾添加一个路径,如下所示:
# Adding the kdesrc-build directory to the path
export PATH="$HOME/kde/src/kdesrc-build:$PATH"
基本上告诉系统:开发是在/home/user name/kde/src
文件夹中完成的 - 有你的文件。您可以选择要放置开发环境的位置。
如果您执行 cmake,它会“认为”您的文件位于原始 OS 文件夹中,并且“ Could not find CMAKE_ROOT
” - 消息将消失,因为它会找到您的所有文件,因为它会从您的开发文件夹结构正确链接到您的系统文件夹结构。
所以基本上要解决这个问题,你可以在正确的系统文件夹中执行 cmake - 如果程序或 make 文件没有正确完成,它可能会弄乱你的系统,因此它会被拉到主文件夹开发文件夹结构中。你只需要告诉 cmake,它就可以找到所有需要的文件来编译你的东西,包括CMAKE_ROOT
.
另一个问题可能是没有正确安装 cmake。在 Arch Linux 系统上,可以通过使用 " sudo pacman -Syu cmake
" 命令来确保它会以正确的方向复制文件并设置正确的用户变量以使其执行并在必要时重新安装 cmake。
顺便说一句,如果您在 Debian 等其他系统上,请确保使用 Debian apt 存储库,它可能与 Ubuntu 存储库不同,特别是如果您为所选系统进行编译。
我试图写一个一般的“初学者头脑”概述,让他们了解基本情况。在正确的文件夹中执行 cmake 为我解决了所要求的确切问题。
(实际该标志适用于官方 Arch 存储库中的实际 cmake 版本:
1:
cd /home/ivanovic/kde/src/program_name
比:
2:
cmake -S/home/ivanovic/kde/src/program_name -B/home/ivanovic/kde/build/program_name -DCMAKE_INSTALL_PREFIX=/home/ivanovic/kde/usr -DCMAKE_BUILD_TYPE=Debug
注意 -S 和 /home/... 之间没有空格,在 -B 和 /home/... )