Respuestas:
Actualización: si está utilizando CLion 2020.2, entonces ya es compatible con Makefiles. Si está utilizando una versión anterior, siga leyendo.
Aunque actualmente solo se admite CMake, puede indicar a CMake que llame make
con su costumbre Makefile
. Edite su CMakeLists.txt
adición de uno de estos dos comandos:
Cuando le indique CLion
que ejecute su programa, intentará encontrar un ejecutable con el mismo nombre del destino en el directorio señalado por PROJECT_BINARY_DIR
. Por lo tanto, siempre que make
genere el archivo donde CLion
espera, no habrá ningún problema.
Aquí hay un ejemplo de trabajo:
CLion
que pase su $ (PROJECT_BINARY_DIR) amake
Esta es la muestra CMakeLists.txt
:
cmake_minimum_required(VERSION 2.8.4)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest COMMAND make -C ${mytest_SOURCE_DIR}
CLION_EXE_DIR=${PROJECT_BINARY_DIR})
CLion's
directorioEsta es la muestra Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
Eso es todo, es posible que también desee cambiar el directorio de trabajo de su programa para que se ejecute tal como está cuando ejecuta make desde su directorio. Para esta edición:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
y CMakeLists.txt
, intente modificar un *.cpp
archivo. Esto haría que CLion construyera todo desde cero.
Si bien esta es una de las solicitudes de funciones más votadas , hay un complemento disponible, de Victor Kropp , que agrega soporte a los archivos MAKE:
Complemento de soporte de Makefile para IntelliJ IDEA
Puede instalar directamente desde el repositorio oficial:
Configuración> Complementos> buscar makefile
> Buscar en repositorios> Instalar> Reiniciar
Hay al menos tres formas diferentes de ejecutar:
Abre un panel llamado Ejecutar objetivo con la salida.
binary
en <predeterminado>"
La versión más nueva tiene un mejor soporte literal para cualquier Makefiles generado, a través de compiledb
Tres pasos:
instalar compiledb
pip install compiledb
ejecutar una marca en seco
compiledb -n make
(hacer el autogen, configurar si es necesario)
se generará un archivo compile_commands.json para abrir el proyecto y verá que CLion cargará información del archivo json. Si su CLion todavía intenta encontrar CMakeLists.txt y no puede leer compile_commands.json, intente eliminar toda la carpeta, volver a descargar los archivos de origen y rehacer el paso 1,2,3
Publicación original: Trabajar con Makefiles en CLion usando Compilation DB
Para evitar totalmente el uso de CMAKE, puede simplemente:
Construye tu proyecto como lo haces normalmente con Make a través de la terminal.
Cambie sus configuraciones de CLion, vaya a (en la barra superior):
Run -> Edit Configurations -> yourProjectFolder
Cambie el Executable
al generado con Make
Cambie Working directory
a la carpeta que contiene su ejecutable (si es necesario)
Eliminar la Build
tarea en el Before launch:Activate tool window
cuadro
¡Y ya está todo listo! Ahora puede usar el botón de depuración después de su compilación manual.
Actualmente, solo CMake es compatible con CLion. Otros sistemas de compilación se agregarán en el futuro, pero actualmente, solo puede usar CMake.
Se implementó una herramienta de importación para ayudarlo a usar CMake.
Editar:
Fuente: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
No estoy muy familiarizado con CMake y no pude usar la solución de Mondkin directamente.
Esto es lo que se me ocurrió en mi CMakeLists.txt usando la última versión de CLion (1.2.4) y MinGW en Windows (supongo que solo tendrá que reemplazar todo: g ++ mytest.cpp -o bin / mytest por make if no estás usando la misma configuración):
cmake_minimum_required(VERSION 3.3)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest ALL COMMAND mingw32-make WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
Y el Makefile personalizado es así (se encuentra en la raíz de mi proyecto y genera el ejecutable en un directorio bin):
all:
g++ mytest.cpp -o bin/mytest
Puedo construir el ejecutable y se puede hacer clic en los errores en la ventana de registro.
Las sugerencias en el IDE son bastante limitadas, lo que es una gran limitación en comparación con los proyectos puros de CMake ...
set(SOURCE_FILES all_files_here.c)
y luego agregarlos add_executable(foobar_cmake ${SOURCE_FILES})
además del destino personalizado. Luego, solo asegúrese de que CLion esté configurado para construir / ejecutar su objetivo personalizado y no el _cmake.