g++用に作成したプロジェクトのMSVCでリンクの問題が発生しています。ここに問題があります:
アプリケーションの一部として静的ライブラリとしてlibsshをビルドし、cmakeにターゲットを追加します。
add_library(ssh_static STATIC $ libssh_SRCS)
LibsshはCであるため、c++ソースのインクルードを'extern"C"{...}'でラップしています。次に、ssh_staticターゲットを実行可能ファイルsshconnectiontestにリンクします。
target_link_libraries(sshconnectiontest ... ssh_static ...)
これはすべて、gccを使用するLinuxで正常に機能しますが、MSVCでは次のようになります。
error LNK2019: unresolved external symbol __imp__[function names here] referenced in [filename]
私が使用するすべてのlibssh関数に対して。
何がうまくいかないのですか?impプレフィックスは、リンカーが.dllのリンクを期待していることを意味することをどこかで読みましたが、ssh_staticはadd_library呼び出しで静的ライブラリとして宣言されているため、そうではないはずです...