I'm running into linking problems in MSVC for a project that I wrote for g++. Here's the problem:
I build libssh as a static library as part of my application, adding the target in cmake with
add_library(ssh_static STATIC $libssh_SRCS)
Libssh is in C, so I have 'extern "C" {...}' wrapping the includes in my c++ sources. I then link the ssh_static target to my executable, sshconnectiontest, with
target_link_libraries(sshconnectiontest ... ssh_static ...)
This all works fine in linux with gcc, but now in MSVC I get
error LNK2019: unresolved external symbol __imp__[function names here] referenced in [filename]
for every libssh function I use.
Any ideas whats going wrong? I've read somewhere that the imp prefix means that the linker is expecting to link a .dll, but this should not be the case since ssh_static is declared a static library in the add_library call...
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…