Проблемы с rpath в CMAKE - PullRequest
0 голосов
/ 18 мая 2018

У меня проблема с cmake, например, одна из библиотек, которую я хочу связать с моей общей библиотекой, которую я компилирую, является boost.Итак, я попробовал как:

target_link_libraries(my_project
    ${Boost_FILESYSTEM_LIBRARY}
    ${Boost_SYSTEM_LIBRARY}
    ${Boost_CHRONO_LIBRARY}
    ${Boost_DATE_TIME_LIBRARY}
    ${Boost_REGEX_LIBRARY}
    ${Boost_SIGNALS_LIBRARY}
    ${Boost_THREAD_LIBRARY})

Однако, когда я выполняю в терминале, чтобы проверить связь

    ldd libmy_project.so
    libboost_system.so.1.66.0 => not found
    libboost_chrono.so.1.66.0 => not found
    libboost_date_time.so.1.66.0 => not found
    libboost_regex.so.1.66.0 => not found
    libboost_signals.so.1.66.0 => not found
    libboost_thread.so.1.66.0 => not found

Но библиотека повышения была найдена cmake в CMakeList.Кто-нибудь знает, как это исправить?

Редактировать:

Проблема была в том, чтобы правильно установить rpath, я пытался следовать документации по cmake.Тем не менее, это не сработало для меня.Единственное, что сработало, это добавление этой строки перед target_link_libraries(...) в CMkaeLists.txt:

set_target_properties(YOUR_PROJECT PROPERTIES LINK_FLAGS "-Wl,-rpath, YOUR_LIB_LOCATION_HERE")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...