Yanıtlar:
Güncelleme: CLion 2020.2 kullanıyorsanız, zaten Makefiles'i destekliyor. Eski bir sürüm kullanıyorsanız, okumaya devam edin.
Rağmen şu anda sadece CKağıt aramak CMake komut verebilirsiniz desteklenen make
aramaları özel ile Makefile
. Senin düzenleme CMakeLists.txt
bu iki komutlardan birini ekleyerek:
CLion
Programınızı çalıştırmayı söylediğinizde , işaret ettiği dizinde aynı ada sahip bir yürütülebilir dosya bulmaya çalışır PROJECT_BINARY_DIR
. Bu nedenle, beklediğiniz make
yerde dosyayı oluşturduğunuz sürece CLion
sorun olmayacaktır.
İşte çalışan bir örnek:
CLion
onun $ (PROJECT_BINARY_DIR) geçmekmake
Bu örnek 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
dizindeBu örnek Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
Hepsi bu kadar, programınızın çalışma dizinini değiştirmek isteyebilirsiniz, böylece dizininizin içinden make komutunu çalıştırdığınızda olduğu gibi çalışır. Bu düzenleme için:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
ve CMakeLists.txt
bir modifiye deneyin *.cpp
dosyayı. Bu CLion her şeyi sıfırdan inşa ederdi.
Bu en çok oylanan özellik taleplerinden biri olsa da , Victor Kropp tarafından sunulan ve dosyalara destek ekleyen bir eklenti var :
IntelliJ IDEA için Makefile destek eklentisi
Doğrudan resmi depodan kurabilirsiniz:
Ayarlar> Eklentiler> makefile
ara > Depolarda ara> Yükle> Yeniden başlat
Koşmanın en az üç farklı yolu vardır:
Çıktı ile Hedef çalıştır adlı bir bölme açar .
binary
<default> üzerinde çalıştırılamıyor "
Yeni sürüm, oluşturulan derlenmiş Makefiles için tam anlamıyla daha iyi desteğe sahiptir.
Üç adım:
compiledb'yi yükle
pip install compiledb
kuru yapmak
compiledb -n make
(otojeni yapın, gerekirse yapılandırın)
oluşturulan bir compile_commands.json dosyası olacak projeyi açın ve göreceksiniz CLion json dosyasından bilgi yükleyecektir. CLion'ınız hala CMakeLists.txt dosyasını bulmaya çalışırsanız ve compile_commands.json dosyasını okuyamazsanız, tüm klasörü kaldırmayı, kaynak dosyaları yeniden indirmeyi ve adım 1,2,3'ü yeniden yapmayı deneyin.
Orignal post: Compilation DB kullanarak CLion'da Makefiles ile çalışma
CMAKE kullanmaktan tamamen kaçınmak için şunları yapabilirsiniz:
Terminal üzerinden Make ile projenizi normal şekilde yapın.
CLion yapılandırmalarınızı değiştirin, (üst çubukta) adresine gidin:
Run -> Edit Configurations -> yourProjectFolder
Executable
Make ile oluşturulanı değiştirin
Working directory
Yürütülebilir dosyayı tutan klasöre değiştirin (gerekirse)
Kutudaki Build
görevi kaldırmaBefore launch:Activate tool window
Ve hepiniz hazırsınız! Artık manuel derlemenizden sonra hata ayıklama düğmesini kullanabilirsiniz.
Şu anda, yalnızca CMake CLion tarafından desteklenmektedir. Gelecekte diğer yapı sistemleri eklenecektir, ancak şu anda yalnızca CMake'i kullanabilirsiniz.
CMake'i kullanmanıza yardımcı olacak bir ithalatçı aracı uygulanmıştır.
Düzenle:
Kaynak: http://blog.jetbrains.com/clion/2014/09/clion-answers-fretely-asked-questions/
CMake'i çok iyi tanımıyorum ve Mondkin'in çözümünü doğrudan kullanamadım.
İşte Windows'da CLion (1.2.4) ve MinGW'nin en son sürümünü kullanarak CMakeLists.txt dosyamda bulduğum şey (sanırım sadece hepsini değiştirmelisiniz: g ++ mytest.cpp -o bin / mytest eğer aynı kurulumu kullanmıyorsunuz):
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})
Ve özel Makefile bu (projemin kökünde bulunur ve bir bin dizinindeki yürütülebilir dosyayı oluşturur):
all:
g++ mytest.cpp -o bin/mytest
Yürütülebilir dosyayı oluşturabiliyorum ve günlük penceresindeki hatalar tıklanabilir.
IDE'deki ipuçları oldukça sınırlıdır, bu da saf CMake projelerine kıyasla büyük bir sınırlamadır ...
set(SOURCE_FILES all_files_here.c)
ve ardından add_executable(foobar_cmake ${SOURCE_FILES})
özel hedefe ekleyerek "aktif" olarak tanıyabildim . Ardından CLion'un _cmake değil özel hedefinizi oluşturmaya / çalıştırmaya ayarlandığından emin olun.