簡體   English   中英

cmake中的“不允許在源代碼中構建”

[英]"In-source builds are not allowed" in cmake

我是 cmake 的新手,我只用它在我的 ubuntu linux 上安裝 opencv。 這是我運行的命令:

"cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/jinha/OCV/source"

然后它返回錯誤:

"FATAL: In-source builds are not allowed.
You should create separate directory for build files."

我當前的目錄 /home/jinha/OCV/build/opencv 包含 CMakefiles.txt 文件,所以這不是問題。 我試圖在我的命令中更改目錄,但它們都引發了相同的錯誤。 我看到了關於這個問題的其他答案,所以我每次運行命令之前都刪除了 CMakeFiles 文件夾和 CMakeCache.txt 文件,但它們都不起作用。 謝謝。

它希望您創建一個單獨的構建目錄(任何地方),並在那里運行 cmake。 例如:

mkdir my_build_dir
cd my_build_dir
rm ../CMakeCache.txt
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/jinha/OCV/source

注意這個例子中的..告訴 cmake 在哪里尋找源。

如果您在再次CMakeCache.txt之前沒有刪除CMakeCache.txt ,它仍然會顯示此錯誤。 所以,請記得在運行cmake之前先刪除CMakeCache.txt

源中成功下載並解壓縮 OpenCV 源后,您需要創建簡單的命令文件 install.sh。 例如,您的工作目錄將是 /home/user/myopencv

所以 /home/user/myopencv/install.sh 將包含下一個代碼:

#!/bin/bash

rm CMakeCache.txt
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local 
make
make install
make clean

下一個

chmod 777 install.sh
./install.sh

畢竟你會得到這些可執行文件:

root@cartman:/usr/local/bin# ls -las | grep opencv
 32 -rwxr-xr-x  1 root root   29888 апр 20 18:10 opencv_annotation
244 -rwxr-xr-x  1 root root  247608 апр 20 18:10 opencv_createsamples
244 -rwxr-xr-x  1 root root  247504 апр 20 18:10 opencv_haartraining
 20 -rwxr-xr-x  1 root root   18600 апр 20 18:10 opencv_performance
288 -rwxr-xr-x  1 root root  294592 апр 20 18:10 opencv_traincascade
 16 -rwxr-xr-x  1 root root   14288 апр 20 18:10 opencv_version
 60 -rwxr-xr-x  1 root root   61040 апр 20 18:10 opencv_visualisation

享受!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM