Библиотека ссылок CMake не отображается в сгенерированном проекте VisualStudio - PullRequest
0 голосов
/ 16 декабря 2018

Я создаю проект VisualStudio для Windows с помощью cmake, и предоставляемые функции связывания, похоже, не работают с сгенерированным проектом VisualStudio.

Сгенерированный проект является библиотекой и опирается на другую библиотеку какЗависимость.

Генерация проекта работает нормально, но в разделе «Дополнительные зависимости» ничего не появляется, что бы я ни пытался.

Я пытался использовать как «link_libraries», так и «target_link_libraries», как до, так и после"add_library (MyLib)" Я пробовал это, например:

project( MyLib )
...
add_library( MyLib ${source_list} )
...
target_link_libraries ( MyLib ${SOME_LIB_PATH} )
target_link_libraries ( MyLib "${SOME_LIB_PATH}" )
target_link_libraries ( MyLib W:/work/Project/MyLib/ )
target_link_libraries ( MyLib "W:/work/Project/MyLib/" )
target_link_libraries ( MyLib W:/work/Project/MyLib/MyLib.lib )
target_link_libraries ( MyLib "W:/work/Project/MyLib/MyLib.lib" )
target_link_libraries ( MyLib banane )
target_link_libraries ( MyLib whatever )
target_link_libraries ( MyLib "test" )
...
include_directories(
    "Include/"
    ${SOME_LIB_INCLUDE_PATH}
)

Хотя включенные каталоги правильно отображаются в свойствах проекта.Так это ошибка или я что-то упустил :)?

1 Ответ

0 голосов
/ 16 декабря 2018

Шефф указал мне правильное направление, напомнив, что статическая библиотека на самом деле не связана с другими потенциальными статическими библиотеками.

Несмотря на то, что VisualStudio позволяет указывать зависимость статической библиотеки в своем пользовательском интерфейсе, на самом деле это не так.происходит, и CMake показывает это, фактически не добавляя его в сгенерированный проект;это была запутанная часть.

Статическая библиотека может прекрасно компилироваться без явной ссылки на другую зависимость статической библиотеки, даже если она использует код из нее, до тех пор, пока окончательный исполняемый файл связывается с указанной библиотекой И ее библиотекойзависимости, если я не ошибаюсь.

Так что спасибо @Scheff за его комментарий!

...