2014-07-02 18 views
21

Khi liên kết nhị phân tôi có thể sử dụng CMAKE_EXE_LINKER_FLAGS để thêm cờ (giả sử -Wl, -as-needed). Tuy nhiên, nếu tôi liên kết thư viện, cờ bổ sung này sẽ không được tính đến. Tôi sẽ cần một cái gì đó như CMAKE_LIB_LINKER_FLAGS nhưng tôi không thể tìm thấy nó.Cách thêm cờ liên kết cho các thư viện với CMake?

Tôi nên làm gì?

+3

hãy xem tập tin CMakeCache.txt. Có nhiều biến CMAKE _ * _ LINKER_FLAGS khác nhau (hiện tại tôi không có cmake nên không thể kiểm tra). Chọn cái bạn muốn –

Trả lời

25

Bạn có thể sử dụng CMAKE_SHARED_LINKER_FLAGS như:

set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed") 

This question trông giống như có liên quan.

+1

Lưu ý rằng CMAKE_SHARED_LINKER_FLAGS dành cho thư viện động. Đối với các thư viện tĩnh, hãy sử dụng CMAKE_STATIC_LINKER_FLAGS thay thế. – ShitalShah

+0

@Antonio: [man 1 ld] (https://linux.die.net/man/1/ld) – jazzpi

2

thanh toán các ucm_add_linker_flags vĩ mô của ucm - nó thỏa thuận với phụ cờ mối liên kết với các biến cmake thích hợp

0

Hình như vấn đề này có liên quan đến một trong tôi đã có trong Clion. Giải quyết nó bằng cách thêm:

{set(CMAKE_CXX_STANDARD_LIBRARIES -ljpeg)} 

để CMakeLists.txt

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