У меня возникают проблемы с компоновкой в MSVC для проекта, который я написал для g ++. Вот проблема:
Я создаю libssh как статическую библиотеку как часть моего приложения, добавляя цель в cmake с помощью
add_library (ssh_static STATIC $ libssh_SRCS)
Libssh находится на C, поэтому у меня есть 'extern " C "{...} ', обертывающий включения в моих исходных кодах C ++. Затем я связываю цель ssh_static с моим исполняемым файлом sshconnectiontest с помощью
target_link_libraries (sshconnectiontest ... ssh_static ...)
Все это отлично работает в Linux с gcc, но теперь в MSVC я получаю
error LNK2019: unresolved external symbol __imp__[function names here] referenced in [filename]
для каждого Я использую функцию libssh.
Есть идеи, что не так? Я' Мы где-то читали, что префикс imp означает, что компоновщик ожидает связать .dll, но этого не должно быть, поскольку ssh_static объявлен статической библиотекой в вызове add_library ...