Câu trả lời:
Cập nhật: Nếu bạn đang sử dụng CLion 2020.2, thì nó đã hỗ trợ Makefiles. Nếu bạn đang sử dụng một phiên bản cũ hơn, hãy đọc tiếp.
Mặc dù hiện tại chỉ có CMake được hỗ trợ, bạn có thể hướng dẫn CMake gọi make
với tùy chỉnh của mình Makefile
. Chỉnh sửa CMakeLists.txt
thêm một trong hai lệnh sau:
Khi bạn yêu CLion
cầu chạy chương trình của mình, nó sẽ cố gắng tìm một tệp thực thi có cùng tên của mục tiêu trong thư mục được chỉ bởi PROJECT_BINARY_DIR
. Vì vậy, miễn là bạn make
tạo tệp nơi CLion
mong đợi, sẽ không có vấn đề gì.
Dưới đây là một ví dụ hoạt động:
CLion
chuyển $ (PRO DỰ_BINARY_DIR) của nó chomake
Đây là mẫu 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
thư mụcĐây là mẫu Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
Đó là tất cả, bạn cũng có thể muốn thay đổi thư mục làm việc của chương trình để nó thực thi như khi bạn chạy make từ bên trong thư mục của bạn. Đối với chỉnh sửa này:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
và CMakeLists.txt
, hãy thử sửa đổi *.cpp
tệp. Điều này sẽ khiến CLion xây dựng mọi thứ từ đầu.
Trong khi đây là một trong những bình chọn nhiều nhất yêu cầu tính năng được , nhưng có một plugin có sẵn, bởi Victor Kropp , có thêm hỗ trợ cho tệp thực hiện:
Plugin hỗ trợ Makefile cho IntelliJ IDEA
Bạn có thể cài đặt trực tiếp từ kho chính thức:
Cài đặt> Plugin> tìm kiếm makefile
> Tìm kiếm trong kho> Cài đặt> Khởi động lại
Có ít nhất ba cách khác nhau để chạy:
Nó mở một khung có tên Run target với đầu ra.
binary
trên <default>"
Phiên bản mới nhất có hỗ trợ tốt hơn theo nghĩa đen cho mọi Makefiles được tạo, thông qua trình biên dịch
Ba bước:
cài đặt compb
pip install compiledb
chạy khô
compiledb -n make
(làm autogen, cấu hình nếu cần)
sẽ có một tệp compile_commands.json được tạo để mở dự án và bạn sẽ thấy CLion sẽ tải thông tin từ tệp json. Nếu CLion của bạn vẫn cố gắng tìm CMakeLists.txt và không thể đọc compile_commands.json, hãy thử xóa toàn bộ thư mục, tải xuống lại các tệp nguồn và làm lại bước 1,2,3
Bài đăng gốc: Làm việc với Makefiles trong CLion bằng Compilation DB
Để hoàn toàn tránh sử dụng CMAKE, bạn có thể chỉ cần:
Xây dựng dự án của bạn như bình thường với Make thông qua thiết bị đầu cuối.
Thay đổi cấu hình CLion của bạn, đi đến (ở thanh trên cùng):
Run -> Edit Configurations -> yourProjectFolder
Thay đổi Executable
cái được tạo bằng Make
Thay đổi Working directory
thư mục giữ tệp thực thi của bạn (nếu cần)
Hủy bỏ Build
nhiệm vụ trong Before launch:Activate tool window
hộp
Và bạn đã sẵn sàng! Bây giờ bạn có thể sử dụng nút gỡ lỗi sau khi xây dựng thủ công.
Hiện tại, chỉ CMake được CLion hỗ trợ. Các hệ thống xây dựng khác sẽ được thêm vào trong tương lai, nhưng hiện tại, bạn chỉ có thể sử dụng CMake.
Một công cụ nhập khẩu đã được triển khai để giúp bạn sử dụng CMake.
Biên tập:
Nguồn: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
Tôi không rành lắm về CMake và không thể sử dụng trực tiếp giải pháp của Mondkin.
Đây là những gì tôi đã đưa ra trong CMakeLists.txt của mình bằng phiên bản mới nhất của CLion (1.2.4) và MinGW trên Windows (Tôi đoán bạn sẽ chỉ cần thay thế tất cả: g ++ mytest.cpp -o bin / mytest bằng cách thực hiện nếu bạn không sử dụng cùng một thiết lập):
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})
Và Makefile tùy chỉnh giống như thế này (nó nằm ở thư mục gốc của dự án của tôi và tạo tệp thực thi trong thư mục bin):
all:
g++ mytest.cpp -o bin/mytest
Tôi có thể xây dựng tệp thực thi và các lỗi trong cửa sổ nhật ký có thể nhấp được.
Gợi ý trong IDE khá hạn chế, đó là một hạn chế lớn so với các dự án CMake thuần túy ...
set(SOURCE_FILES all_files_here.c)
và sau đó thêm add_executable(foobar_cmake ${SOURCE_FILES})
vào mục tiêu tùy chỉnh. Sau đó, chỉ cần đảm bảo CLion được thiết lập để xây dựng / chạy mục tiêu tùy chỉnh của bạn chứ không phải mục tiêu _cmake.