cmake中“不允许使用源内构建”

时间:2017-08-05 04:48:09

标签: linux opencv 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文件,但是没有一个能够工作。感谢。

2 个答案:

答案 0 :(得分:77)

它希望您创建一个单独的构建目录(任何地方),然后在那里运行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

答案 1 :(得分:3)

sources下载并解压缩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

享受!