2011-01-12 14 views
12

traté de compilar un proyecto con cmake, pero tengo el siguiente error:Cmake error de compilación

[email protected]:~/oooark$ cmake . 
CMake Error at CMakeLists.txt:19 (message): 
    In-source builds are not allowed. 

Por ejemplo Run:

rm CMakeCache.txt 
mkdir build 
cd build 
cmake .. 
make 
-- Configuring incomplete, errors occurred! 

¿Puede alguien ayudarme?

+0

¿Estás seguro de que 'make' ha sido instalado? Compruebe si tanto 'make' como' gcc' está instalado correctamente. – Sen

+0

¿Podría mostrarnos CMakeLists.txt en la línea 19? – tibur

+0

Entonces, ¿por qué no lee el mensaje de error y hace lo que dice? – user562374

Respuesta

21

Haga lo que dice el mensaje de ayuda: elimine el archivo CMakeCache.txt, cree un subdirectorio llamado compilación, cambie a ese directorio y luego vuelva a ejecutar cmake desde allí.

rm CMakeCache.txt 
mkdir build 
cd build 
cmake .. 
make 

Esto es porque usted ejecutó "cmake". en la parte superior del árbol fuente. La razón para evitar que ejecute cmake en el directorio de origen es evitar que el árbol de origen obtenga artefactos de construcción arrojados por todos lados.

+0

Buena respuesta. ¿Podría por favor explicar más? ¿Qué son estos "artefactos de construcción"? ¿Entonces la estructura del directorio debe tener carpetas compilación, lib, bin dentro de ella? ¿Y creamos cmake en la carpeta de compilación vacía? Los archivos de compilación generados se escriben en la carpeta de compilación. Estos son los archivos de salida. –

1

La compilación anterior ha creado CMakeCache.txt y un directorio CMakeFiles. Eliminar este archivo y directorio y como:

llvm_src es su directorio raíz donde llvm es descomprimido o descargado

$ cd <llvm_src> 
$ cd <llvm_src> 
$ rm -rf CMakeCace.txt CMakeFiles 
$ mkdir build 
$ cd build 
$ cmake -G "Unix Makefiles" <llvm_src> 

que debe generar archivos make en el directorio de construcción.

$ cmake -DCMAKE_INSTALL_PREFIX:PATH=<path_to_install_directory> . && make all install 
Cuestiones relacionadas