Jawaban:
Pembaruan: Jika Anda menggunakan CLion 2020.2, maka sudah mendukung Makefiles. Jika Anda menggunakan versi yang lebih lama, baca terus.
Meskipun saat ini hanya CMake yang didukung, Anda dapat menginstruksikan CMake untuk menelepon make
dengan kebiasaan Anda Makefile
. Edit Anda CMakeLists.txt
menambahkan salah satu dari dua perintah ini:
Ketika Anda mengatakan CLion
untuk menjalankan program Anda, itu akan mencoba untuk menemukan executable dengan nama target yang sama di direktori yang ditunjuk oleh PROJECT_BINARY_DIR
. Jadi selama Anda make
menghasilkan file di mana CLion
mengharapkan, tidak akan ada masalah.
Berikut ini contoh kerjanya:
CLion
untuk meneruskan $ (PROJECT_BINARY_DIR) kemake
Ini adalah sampel 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
direktori yang dapat dieksekusiIni adalah sampel Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
Itu saja, Anda juga mungkin ingin mengubah direktori kerja program Anda sehingga dijalankan seperti ketika Anda menjalankan make dari dalam direktori Anda. Untuk pengeditan ini:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
dan CMakeLists.txt
, coba modifikasi *.cpp
file. Ini akan membuat CLion membangun semuanya dari awal.
Meskipun ini adalah salah satu permintaan fitur yang paling banyak dipilih , ada satu plugin yang tersedia, oleh Victor Kropp , yang menambahkan dukungan ke makefiles:
Plugin dukungan Makefile untuk IntelliJ IDEA
Anda dapat menginstal langsung dari repositori resmi:
Pengaturan> Plugins> cari makefile
> Cari di repositori> Instal> Restart
Setidaknya ada tiga cara untuk menjalankan:
Ini membuka panel bernama Jalankan target dengan output.
binary
pada <default>"
Versi terbaru memiliki dukungan yang lebih baik secara harfiah untuk Makefiles yang dihasilkan, melalui compiledb
Tiga langkah:
instal compiledb
pip install compiledb
menjalankan make kering
compiledb -n make
(lakukan autogen, konfigurasikan jika perlu)
akan ada file compile_commands.json yang dihasilkan membuka proyek dan Anda akan melihat CLion akan memuat info dari file json. Jika Anda, CLion Anda masih mencoba menemukan CMakeLists.txt dan tidak dapat membaca compile_commands.json, coba hapus seluruh folder, unduh kembali file sumber, dan ulangi langkah 1,2,3
Orignal post: Bekerja dengan Makefile di CLion menggunakan Compilation DB
Untuk benar-benar menghindari penggunaan CMAKE, Anda dapat:
Bangun proyek Anda seperti biasanya dengan Make through terminal.
Ubah konfigurasi CLion Anda, buka (di bilah atas):
Run -> Edit Configurations -> yourProjectFolder
Ubah Executable
ke yang dibuat dengan Make
Ubah Working directory
ke folder yang menahan eksekusi Anda (jika perlu)
Hapus Build
tugas di dalam Before launch:Activate tool window
kotak
Dan Anda sudah siap! Anda sekarang dapat menggunakan tombol debug setelah pembuatan manual Anda.
Saat ini, hanya CMake yang didukung oleh CLion. Orang lain membangun sistem akan ditambahkan di masa depan, tetapi saat ini, Anda hanya dapat menggunakan CMake.
Alat importir telah diterapkan untuk membantu Anda menggunakan CMake.
Edit:
Sumber: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
Saya tidak terlalu mengenal CMake dan tidak bisa menggunakan solusi Mondkin secara langsung.
Inilah yang saya temukan di CMakeLists.txt menggunakan versi terbaru CLion (1.2.4) dan MinGW di Windows (saya kira Anda hanya perlu mengganti semua: g ++ mytest.cpp -o bin / mytest dengan make if Anda tidak menggunakan pengaturan yang sama):
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})
Dan custom Makefile seperti ini (terletak di root proyek saya dan menghasilkan executable di direktori bin):
all:
g++ mytest.cpp -o bin/mytest
Saya dapat membangun executable dan kesalahan di jendela log dapat diklik.
Petunjuk dalam IDE cukup terbatas, yang merupakan batasan besar dibandingkan dengan proyek CMake murni ...
set(SOURCE_FILES all_files_here.c)
dan kemudian menambahkan add_executable(foobar_cmake ${SOURCE_FILES})
di samping target kustom. Kemudian pastikan CLion diatur untuk membangun / menjalankan target kustom Anda dan bukan _cmake satu.