2013-05-22 37 views
10

Đây là những gì tôi có, khi tôi bắt đầu thế hệ:cmake tạo dự án Xcode từ các nguồn hiện có

iMac:IXCSoftswitch alex$ /usr/bin/cmake -G Xcode . 
-- CMAKE_SOURCE_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch, CMAKE_BINARY_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch 
CMake Error at CMakeLists.txt:25 (MESSAGE): 
    Binary and source directory cannot be the same 


-- Configuring incomplete, errors occurred! 

Làm thế nào tôi có thể sửa chữa nó? Tôi mới trong cmake, mẫu được đánh giá cao.

Trả lời

39

CMake được sử dụng để tạo các bản dựng out-of-source.

Ý tưởng ở đây là bạn không trộn các tệp được tạo trong quá trình biên dịch với các tệp nguồn gốc. Trong thực tế, bạn thường chạy CMake từ một thư mục xây dựng mới, trống và cung cấp đường dẫn đến thư mục nguồn làm đối số.

cd IXCSoftswitch 
mkdir build 
cd build 
cmake -G Xcode .. 

Tất cả các tập tin được tạo bởi CMake (mà có thể là một nhiều) bây giờ sẽ đi vào build thư mục con, trong khi thư mục nguồn của bạn vẫn sạch của build đồ tạo tác.

Khái niệm về các bản dựng ngoài nguồn có thể có vẻ lạ lúc đầu, nhưng đây thực sự là một cách làm việc rất tiện lợi khi bạn quen với nó.

+0

có vẻ như đây là giải pháp, nhưng tôi không thể tìm thấy dự án Xcode cuối cùng bao gồm tất cả các tệp nguồn. bạn có thể vui lòng chỉnh sửa câu trả lời, ở đâu? – user170317

+0

Điều này được xác định bởi chính dự án. Tôi sẽ đề nghị bạn kiểm tra tài liệu đi kèm với mã nguồn. – ComicSansMS

3

Từ thư mục gốc của thư mục dự án của bạn.

cmake -G Xcode -H. -B_build 

Điều này tương tự như câu trả lời ở trên. Tuy nhiên, bạn đang tự quản lý việc xây dựng nguồn. -B đặt thư mục xây dựng đích của bạn (tôi thích _build). Tôi đã cố gắng tìm kiếm -H để kiểm tra lại, nhưng không thể tìm thấy nó. Nếu bộ nhớ phục vụ, nó chỉ định nơi CMakeLists.txt của bạn sống.

Tôi giữ lệnh này trong tệp .sh/.bat (tùy thuộc). Bằng cách này, tôi có thể giữ các kịch bản của mình xây dựng dự án của tôi trong thư mục gốc, nơi một người mới có thể dễ dàng tìm thấy chúng.

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