Error de enlace LNK2019 en MSVC, símbolos no resueltos con el prefijo __imp__, pero debe ser de lib estática
Me encuentro con problemas de vinculación en MSVC para un proyecto que escribí para g ++. Aquí está el problema:
Construyo libssh como una biblioteca estática como parte de mi aplicación, agregando el objetivo en cmake con
add_library (ssh_static STATIC $ libssh_SRCS)
Libssh está en C, por lo que tengo 'extern "C" {...}' envolviendo las inclusiones en mis fuentes de c ++. Luego vinculo el objetivo ssh_static a mi ejecutable, sshconnectiontest, con
target_link_libraries (sshconnectiontest ... ssh_static ...)
Todo esto funciona bien en Linux con gcc, pero ahora en MSVC obtengo
error LNK2019: unresolved external symbol __imp__[function names here] referenced in [filename]
para cada función libssh que uso.
¿Alguna idea de qué va mal? He leído en alguna parte que eldiablillo prefijo significa que el vinculador espera vincular un .dll, pero este no debería ser el caso ya que ssh_static se declara una biblioteca estática en la llamada add_library ...