2014-11-08 19 views
24

Tôi đã gặp sự cố khi thay đổi thư mục xây dựng qua CLion. Tôi đã thử: set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin") nhưng dường như không thay đổi và vẫn giữ nguyên (/home/adil/.clion10/system/cmake/generated/c05c962b/c05c962b/Debug/Project).
Tôi cũng đã thử cách khắc phục được chỉ định here, nhưng điều đó dường như không hoạt động.CLion - Thay đổi thư mục xây dựng mặc định

Có ai có giải pháp cho vấn đề này không?

+0

Cũng có vấn đề này với build CL-138.2344.17 trên Mac. –

+1

Tôi cũng gặp vấn đề này, nhưng không có giải pháp nào dưới đây được chấp nhận. Thay đổi CMakeLists.txt là một ý tưởng ngớ ngẩn vì đây là tệp được phiên bản. Cấu hình cho mỗi người dùng như thư mục xây dựng không bao giờ nên đi vào nguồn gốc và ngược dòng. – srking

+0

@srking về cách sử dụng biến môi trường CMake cho mỗi người dùng khi gọi cmake, ví dụ: 'cmake -DVARIABLE = value' – wiped

Trả lời

36

Bạn cần phải thêm tiền tố bin của bạn với đường dẫn đến thư mục hiện dự án của bạn nằm trong Bạn có thể sử dụng ${CMAKE_CURRENT_SOURCE_DIR}

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin") 

Hãy chắc chắn. thêm trước khi liên quan đến add_executable chỉ thị này trong tệp CMakeLists.txt của bạn.

+4

hoặc 'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "$ {CMAKE_CURRENT_SOURCE_DIR}/lib") 'trong trường hợp của thư viện –

3

Bạn có thể sử dụng set_target_properties:

set_target_properties(YOUR_PROJECT PROPERTIES RUNTIME_OUTPUT_DIRECTORY "YOUR_BUILD_DIRECTORY") 
4

Câu trả lời lau là đúng, chỉ cần tôi phải nói thêm rằng bạn cần phải đặt rằng set chỉ thị trước khi chỉ thị add_executable, và trước khi set chỉ thị nơi các tập tin nguồn được định nghĩa cho các add_executable, nếu bạn không làm trong theo cách này, đầu ra sẽ giống nhau và không có lỗi nào được đưa ra.

+1

chính xác ... không thể hiểu tại sao họ downvote bạn ... bạn đã lưu ngày của tôi! cảm ơn bạn – NikosKeyz

+1

Điều này bị giảm giá vì đây rõ ràng là nhận xét cho câu trả lời khác. Điều này sẽ được thêm vào đó, không phải là câu trả lời riêng biệt. – Killah

+0

Tôi vừa thêm bằng cấp của Mrdev vào câu trả lời của @ wiped. –

2

Chuyển đến Cài đặt -> CMake và chỉ định đường dẫn tương đối hoặc tuyệt đối nơi bạn muốn tệp xây dựng của mình được lưu trữ trong trường 'Tạo đường dẫn đầu ra'. Ví dụ ./bin chí sản lượng xây dựng tập tin trong YourProject/bin/Debug/yourExeFile.exe

enter image description here

Các vấn đề liên quan