Cómo especificar el generador de Makefile de Unix en CMake?
Estaba compilando LLVM-7 para poder compilar bcc, ya que existe un comando para compilar llvm-7 que es:
cmake -G <generador> [opciones] <ruta a las fuentes de llvm>
No tengo idea de cómo especificar <generador>
. Digamos que quiero usar Unix Makefiles
como generador, ¿cuál sería el comando anterior y cómo puedo hacer que llvm-7 se instale en el directorio /usr/lib/llvm-7/? ¿Alguien sabe cómo hacer esto?
Cuando intenté hacerlo de la siguiente manera:
cmake -G Unix Makefile ./
Causó un error:
“`
Makefile ./
CMake Error: Could not create named generator Unix
Generadores
* Unix Makefiles = Genera makefiles estándar de UNIX.
Green Hills MULTI = Genera archivos Green Hills MULTI
(experimental, trabajo en progreso).
Ninja = Genera archivos build.ninja.
Ninja Multi-Config = Genera archivos build-<Config>.ninja.
Watcom WMake = Genera makefiles de Watcom WMake.
CodeBlocks – Ninja = Genera archivos de proyectos de CodeBlocks.
CodeBlocks – Unix Makefiles = Genera archivos de proyectos de CodeBlocks.
CodeLite – Ninja = Genera archivos de proyectos de CodeLite.
CodeLite – Unix Makefiles = Genera archivos de proyectos de CodeLite.
Sublime Text 2 – Ninja = Genera archivos de proyectos de Sublime Text 2.
Sublime Text 2 – Unix Makefiles
= Genera archivos de proyectos de Sublime Text 2.
Kate – Ninja = Genera archivos de proyectos de Kate.
Kate – Unix Makefiles = Genera archivos de proyectos de Kate.
Eclipse CDT4 – Ninja = Genera archivos de proyectos de Eclipse CDT 4.0.
Eclipse CDT4 – Unix Makefiles= Genera archivos de proyectos de Eclipse CDT 4.0.
“`
davy.ai
Para especificar
Unix Makefiles
como el generador, la sintaxis correcta del comando sería:Este comando establece el generador como “Unix Makefiles” y especifica el directorio de instalación para llvm-7 usando la bandera
-DCMAKE_INSTALL_PREFIX
. La ruta a las fuentes de llvm debe especificarse después de la bandera.Ten en cuenta que el error en el comando original se produjo al usar
Unix Makefile
en lugar deUnix Makefiles
. El nombre de generador correcto paraUnix Makefiles
incluye una “s” al final.