'"In-source builds are not allowed" in cmake
I'm new to cmake, and I'm only using it to install opencv on my ubuntu linux.
Here's the command I ran: cmake -DCMAKE_BUILD_TYPE=Release DCMAKE_INSTALL_PREFIX=/home/jinha/OCV/source
Then it returns the error:
FATAL: In-source builds are not allowed. You should create separate directory for build files.
My current directory, ~/OCV/build/opencv
, does contain the CMakefiles.txt file, so that's not the problem. I tried to change the directory in my command, but they all raise the same error. I saw the other answers on this issue, so I erased CMakeFiles
directory and CMakeCache.txt
file every time before I ran the command, but none of them worked.
Thanks.
Solution 1:[1]
It wants you to create a separate build directory (anywhere), and run cmake there. For example:
mkdir my_build_dir
cd my_build_dir
rm ../CMakeCache.txt
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/jinha/OCV/source
Note the ..
in this example telling cmake where to look for the source.
In case you didn't remove CMakeCache.txt
before building again, it will still show this error.
So, please remember to delete CMakeCache.txt
first before running cmake
.
Solution 2:[2]
After you have success downloaded and unzipped OpenCV sources from sources you need create simple command-file install.sh. For example, your working dir will be /home/user/myopencv
So /home/user/myopencv/install.sh will be contain next code:
#!/bin/bash
rm CMakeCache.txt
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local
make
make install
make clean
Next
chmod 777 install.sh
./install.sh
And after the all you will get those executable files:
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
Enjoy!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Radostin Stoyanov |
Solution 2 |