2013-02-20 40 views

Trả lời

25

Trong số CMakeLists.txt, lệnh INSTALL của tôi không có tham số LIBRARY.

Thay đổi từ này:

INSTALL(
    TARGETS lemon 
    ARCHIVE DESTINATION lib 
    COMPONENT library 
) 

này:

INSTALL(
    TARGETS lemon 
    ARCHIVE DESTINATION lib 
    LIBRARY DESTINATION lib # <-- Add this line 
    COMPONENT library 
) 

cố định vấn đề của tôi.

7

tôi nhận này ... Một lý do điều này xảy ra là khi bạn tạo ra một thư viện chia sẻ

add_library ($ {NAME} Nguồn chia sẻ)

sau đó khi cmake đạt đến cài đặt lệnh trên nền tảng Windows, nó phàn nàn về các lỗi này, giải pháp là sử dụng RUNTIME thay vì LIBRARY, như

if(WIN32) 
    install(TARGETS ${NAME} 
    RUNTIME DESTINATION path) 
else() 
    install(TARGETS ${NAME} 
    LIBRARY DESTINATION path) 
endif() 
+1

Tôi nghĩ bạn có nghĩa là "RUNTIME' thay vì' LIBRARY' ". –

+0

đúng, đã sửa. –

+1

Hai tập quán của 'đường dẫn' trong ví dụ của bạn có khác nhau không? Nếu không, bạn có thể đạt được hiệu quả tương tự với 'cài đặt (MỤC TIÊU $ {NAME} Đường dẫn RUNTIME DESTINATION Đường dẫn DANH SÁCH THƯ VIỆN )' – Unapiedra

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