web-dev-qa-db-fra.com

"Les constructions dans la source ne sont pas autorisées" dans cmake

Je suis nouveau sur cmake, et je ne l’utilise que pour installer opencv sur mon Linux Ubuntu. Voici la commande que j'ai exécutée:

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

Ensuite, il renvoie l'erreur:

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

Mon répertoire actuel,/home/jinha/OCV/build/opencv, contient le fichier CMakefiles.txt. Ce n'est donc pas le problème. J'ai essayé de changer le répertoire dans ma commande, mais ils provoquent tous la même erreur. J'ai vu les autres réponses à ce problème. J'ai donc effacé le dossier CMakeFiles et le fichier CMakeCache.txt à chaque fois avant d'exécuter la commande, mais aucun d'entre eux n'a fonctionné. Merci.

31
정진하

Il veut que vous créiez un répertoire de construction séparé (n'importe où) et que vous y exécutiez cmake. Par exemple:

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

Notez le .. Dans cet exemple indiquant à cmake où chercher la source.

Si vous n'avez pas supprimé CMakeCache.txt Avant de construire à nouveau, cette erreur s'affichera quand même. Donc, n'oubliez pas de supprimer CMakeCache.txt Avant d'exécuter cmake.

84
John Zwinck

Une fois que vous avez réussi à télécharger et décompresser les sources OpenCV de sources , vous devez créer un simple fichier de commande, install.sh. Par exemple, votre répertoire de travail sera/home/user/myopencv

Donc /home/user/myopencv/install.sh contiendra le code suivant:

#!/bin/bash

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

Prochain

chmod 777 install.sh
./install.sh

Et après tout, vous obtiendrez ces fichiers exécutables:

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

Prendre plaisir!

4
Orlov Const