2017-08-05 20 views
7

Tôi mới dùng cmake và tôi chỉ sử dụng nó để cài đặt opencv trên linux ubuntu của mình. Đây là lệnh tôi chạy:"Xây dựng trong nguồn không được phép" trong cmake

"cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/jinha/OCV/source" 

Sau đó, nó sẽ trả về lỗi:

"FATAL: In-source builds are not allowed. 
You should create separate directory for build files." 

My thư mục hiện hành,/home/Jinha/OCV/build/opencv, có chứa các tập tin CMakefiles.txt, vì vậy đó không phải là vấn đề. Tôi đã cố gắng thay đổi thư mục trong lệnh của mình, nhưng tất cả đều tăng cùng một lỗi. Tôi đã thấy các câu trả lời khác về vấn đề này, vì vậy tôi đã xóa thư mục CMakeFiles và tệp CMakeCache.txt mỗi lần trước khi tôi chạy lệnh, nhưng không có lệnh nào trong số chúng hoạt động. Cảm ơn.

Trả lời

21

Nó muốn bạn tạo thư mục xây dựng riêng biệt (ở bất kỳ đâu) và chạy cmake ở đó. Ví dụ:

mkdir my_build_dir 
cd my_build_dir 
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/jinha/OCV/source 

Lưu ý .. trong ví dụ này cho biết phải tìm nguồn gốc ở đâu.

Trong trường hợp bạn không xóa CMakeCache.txt trước khi tạo lại, nó sẽ vẫn hiển thị lỗi này. Vì vậy, hãy nhớ xóa CMakeCache.txt trước khi chạy cmake.

+0

Wow, cảm ơn rất nhiều! Đây là câu hỏi đầu tiên của tôi. Cảm ơn rất nhiều! Hoàn toàn làm việc. –

+0

CMAKE chỉ là thông minh và bảo toàn các nguồn của bạn là "* nguyên sơ *" bằng cách yêu cầu bạn xây dựng trong thư mục khác để tránh làm bẩn nguồn của bạn với đối tượng và các tệp xây dựng khác ... –

+0

@ 정진하: Bạn được chào đón. Nếu điều này giải quyết được vấn đề của bạn, bạn có thể "chấp nhận" câu trả lời bằng cách nhấp vào dấu kiểm ở bên trái. –

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