Respostas:
Atualização: se você estiver usando o CLion 2020.2, ele já será compatível com Makefiles. Se você estiver usando uma versão mais antiga, continue a ler.
Embora atualmente apenas o CMake seja suportado, você pode instruir o CMake a ligar make
com seu costume Makefile
. Edite a CMakeLists.txt
adição de um destes dois comandos:
Quando você diz CLion
para executar seu programa, ele tenta encontrar um executável com o mesmo nome do destino no diretório apontado por PROJECT_BINARY_DIR
. Portanto, desde que você make
gere o arquivo onde CLion
espera, não haverá problema.
Aqui está um exemplo de trabalho:
CLion
para passar seu $ (PROJECT_BINARY_DIR) paramake
Esta é a amostra 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
diretórioEsta é a amostra Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
Isso é tudo, você também pode querer alterar o diretório de trabalho do seu programa para que ele seja executado como é quando você executa o make de dentro do diretório. Para esta edição:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
e CMakeLists.txt
, tente modificar um *.cpp
arquivo. Isso faria com que o CLion construísse tudo do zero.
Embora essa seja uma das solicitações de recurso mais votadas , há um plugin disponível, por Victor Kropp , que adiciona suporte aos makefiles:
Plug-in de suporte de makefile para IntelliJ IDEA
Você pode instalar diretamente do repositório oficial:
Configurações> Plug-ins> procure makefile
> Pesquise em repositórios> Instalar> Reinicie
Existem pelo menos três maneiras diferentes de executar:
Ele abre um painel chamado Executar destino com a saída.
binary
em <padrão>" # #
A versão mais recente oferece suporte melhor literalmente a qualquer Makefiles gerado, através do compiledb
Três etapas:
instalar compiladob
pip install compiledb
faça uma marca seca
compiledb -n make
(faça o autogen, configure se necessário)
haverá um arquivo compile_commands.json gerado, abra o projeto e você verá que o CLion carregará informações do arquivo json. Se o seu CLion ainda tentar encontrar o CMakeLists.txt e não conseguir ler o compile_commands.json, tente remover a pasta inteira, faça novamente o download dos arquivos de origem e refaça a etapa 1,2,3
Postagem original: Trabalhando com Makefiles no CLion usando o Compilation DB
Para evitar totalmente o uso do CMAKE, você pode simplesmente:
Crie seu projeto normalmente com o Make através do terminal.
Altere suas configurações do CLion, vá para (na barra superior):
Run -> Edit Configurations -> yourProjectFolder
Mude Executable
para o gerado com Make
Altere Working directory
para a pasta que contém seu executável (se necessário)
Remova a Build
tarefa na Before launch:Activate tool window
caixa
E está tudo pronto! Agora você pode usar o botão de depuração após a compilação manual.
Atualmente, apenas o CMake é suportado pelo CLion. Outros sistemas de compilação serão adicionados no futuro, mas atualmente, você só pode usar o CMake.
Uma ferramenta importadora foi implementada para ajudá-lo a usar o CMake.
Editar:
Fonte: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
Não estou muito familiarizado com o CMake e não podia usar a solução da Mondkin diretamente.
Aqui está o que eu criei no meu CMakeLists.txt usando a versão mais recente do CLion (1.2.4) e MinGW no Windows (acho que você precisará substituir tudo: g ++ mytest.cpp -o bin / mytest por make if você não está usando a mesma configuração):
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})
E o Makefile personalizado é assim (está localizado na raiz do meu projeto e gera o executável em um diretório bin):
all:
g++ mytest.cpp -o bin/mytest
Eu sou capaz de criar o executável e os erros na janela de log são clicáveis.
As dicas no IDE são bastante limitadas, o que é uma grande limitação em comparação aos projetos puros do CMake ...
set(SOURCE_FILES all_files_here.c)
e adicionando add_executable(foobar_cmake ${SOURCE_FILES})
além do destino personalizado. Depois, verifique se o CLion está configurado para criar / executar seu destino personalizado e não o _cmake.