В GNU/Linux соглашение должно передать имя библиотеки (назовем ее foo) в target_link_libraries без префикса lib (в противном случае она пытается связать liblibfoo .так). В Windows, однако, когда я прошу связаться с «foo», он пытается найти «foo.lib», которого не существует, поскольку библиотека называется libfoo.lib. Есть ли способ дать команду cmake добавить префикс lib, не прибегая к еще одному блоку if (WIN32)?cmake: как связать библиотеку с префиксом lib на окнах
0
A
ответ
1
Используйте команду find_library для поиска абсолютного пути к библиотеке. Вы можете указать все возможные имена искали библиотеки с NAMES
опции:
find_library(FOO_LIBRARY NAMES foo libfoo)
Затем используйте результат этой команды для связи с библиотекой:
target_link_libraries(my_exec ${FOO_LIBRARY})
Смежные вопросы
- 1. Связать общую библиотеку с CMake
- 2. CMAKE получить .so библиотеку на окнах
- 3. Cmake находит hdf5, но пытается связать с dll на окнах
- 4. Как связать внешнюю библиотеку с cmake?
- 5. Как найти библиотеку с cmake?
- 6. CMake связать библиотеку (.a/.so)
- 7. cmake Как связать статическую библиотеку, не названную с libxxx.a?
- 8. Неприятность, ссылающаяся на статическую библиотеку на окнах с CMake
- 9. Как связать библиотеку ffmpeg от cmake?
- 10. Как легко связать библиотеку gtk с cmake в windows?
- 11. Связать мою общую библиотеку с другим (CMAKE)
- 12. Как связать стороннюю библиотеку (LibUSB) в CMake
- 13. Ссылка на .a библиотеку с CMake
- 14. библиотека с CMake на окнах
- 15. Как связаться с mosquitto lib в cmake?
- 16. Как использовать FFTW с cmake на окнах?
- 17. Как связать статическую библиотеку с исполняемым файлом с помощью CMake
- 18. Ошибка связывания CMake на окнах
- 19. Как связать статическую библиотеку NDK (.a) с андроидом CMake?
- 20. Ссылка CMake на внешнюю библиотеку
- 21. Как связать загруженный lib
- 22. cmake install не устанавливает библиотеки на окнах
- 23. Невозможно связать вывод (статическую библиотеку) внешнего проекта CMake проекта CMake с проектом CMake
- 24. Ссылка на внешнюю библиотеку CMake?
- 25. Ссылка на внешнюю библиотеку с CMake
- 26. Как связать с boost.system с cmake
- 27. Включите soci в cmake на окнах
- 28. cmake найти sqlite3 библиотека на окнах
- 29. Как установить переменную CMake CXX на окнах
- 30. CMake добавить библиотеку с подкаталогами
Нет, я говорю о библиотеках без Cmake модулей. –
Не задействованы модули CMake. Команда 'find_library' является внутренней для CMake, например' target_link_libraries'. – Tsyvarev
Спасибо, я неправильно понял. Я почему-то думал, что вы нашли find_package. Я не знал о find_library, который действительно находит библиотеку. Однако мне не нравится, что он связывает его с полным абсолютным путем, поэтому я думаю, что я буду придерживаться условного на данный момент. –