es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.
“`

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para especificar Unix Makefiles como el generador, la sintaxis correcta del comando sería:

    cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-7/ ruta/a/la/fuente/de/llvm
    

    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 de Unix Makefiles. El nombre de generador correcto para Unix Makefiles incluye una “s” al final.

Comments are closed.