Linking-Fehler LNK2019 in MSVC, nicht aufgelöste Symbole mit dem Präfix __imp__, sollten jedoch aus der statischen Bibliothek stammen

Ich habe Probleme mit der Verknüpfung in MSVC für ein Projekt, das ich für g ++ geschrieben habe. Hier ist das Problem:

Ich erstelle libssh als statische Bibliothek als Teil meiner Anwendung und füge das Ziel in cmake mit @ hinz

add_library (ssh_static STATIC $ libssh_SRCS)

Libssh ist in C, also habe ich 'externes "C" {...}', das die Includes in meine c ++ - Quellen einfügt. Ich verknüpfe dann das Ziel ssh_static mit meiner ausführbaren Datei sshconnectiontest mit

target_link_libraries (sshconnectiontest ... ssh_static ...)

Dies alles funktioniert gut unter Linux mit gcc, aber jetzt in MSVC bekomme ich

error LNK2019: unresolved external symbol __imp__[function names here] referenced in [filename]

für jede libssh-Funktion, die ich benutze.

Irgendwelche Ideen, was schief geht? Ich habe irgendwo gelesen, dass das imp Präfix bedeutet, dass der Linker eine DLL-Datei erwartet, dies sollte jedoch nicht der Fall sein, da ssh_static im Aufruf von add_library als statische Bibliothek deklariert wird ...

Antworten auf die Frage(8)

Ihre Antwort auf die Frage