10

コンパイラが認識するライブラリとして libssh を実装するにはどうすればよいですか? 私は Visual Studio 2010 C++ を使用しており、Boost ライブラリを問題なく含めましたが、Boost で行ったプロセスは奇妙で、libssh が異なることがわかります。

私は本当に DLL ファイルを作成したくありません。1 つの実行可能ファイルが必要ですが、.rc スクリプトを使用して DLL ファイルを実行可能ファイル内に埋め込むことができることは知っています。(その後、抽出してロードします)

Boost 以外のライブラリをプロジェクトに含める必要はありませんでした。これを行う方法を本当に知っておく必要があると感じています。これは libssh2 ではなく libssh であることに注意してください。ありがとう。

4

4 に答える 4

15

投稿が古い場合でも、回答があります。誰かがここに立ち寄るのに役立つかもしれません。

libssh を Visual Studio 2010 に実装する。

すべてが適切にコンパイルされるようにするには、1 つ以上のライブラリが必要です。3 つ必要です。最初に最新バージョンのlibsshをダウンロードします。 この後、問題なくコンパイルできるようにするには、さらに 2 つの dll が必要になります。

  • libeay32.dll
  • zlib1.dll

最初のものはあまりよく認識されなかったので、openssl openssl-0.9.8k_WIN32.zipの完全なライブラリを取得しました。

これらのファイルをダウンロードしたら、Visual Studio の適切な場所に配置します。

に行く

  • C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC

言語 C -> VC のビジュアル スタジオを開くには、次のようにします。

  • インクルードのあるフォルダーをC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include にコピーし、フォルダーlibssh\include (すべての .h ファイルを含む) を貼り付けます。
  • ファイルssh.libC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\libにコピーします。
  • ssh.dll C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\binをコピーします。

libeay32.dll と zlib1.dll を bin フォルダーにコピーします。または、私がお勧めするopensslをダウンロードした場合は、lib sshと同じプロセスを実行するだけで、.exeファイルをdllと一緒にbinフォルダーにコピーすることも忘れないでください。

その後、ライブラリをプロジェクトのコンパイラにリンクする必要があります。

Project -> projectName properties ウィンドウを開いてプロパティを開き、 -> Configuration Properties -> Linker -> input -> Additional Dependenciesに移動します。

次のライブラリを依存関係に追加します

;ssh.lib;ssleay32.lib;libeay32.lib;

そして、それは非常にうまく機能していました

誰かがここに立ち寄るのに役立つことを願っています:)

于 2012-12-02T04:05:48.123 に答える
2

標準のWindowsインストーラには、静的ライブラリは付属していません。

重要とにかく、opensslが動的にリンクされます(オプションでzlib)。これでよろしいですか?

あなたがそうする場合、あなたは必要です

オプション:-libz > = 1.2

  1. ソースzipをダウンロードします。
  2. ソースツリー外のビルドディレクトリを作成し、
  3. 開始cmake-gui、微調整
    • ソースを選択してディレクトリを構築する
    • [構成]をクリックします(たとえば、VS2010 Win64ビルドファイルを選択しました)
    • VStudioを開き、(DLLではなく)静的ライブラリとして微調整してビルドします

これがあなたが始めるのに役立つことを願っています。

于 2011-11-20T20:58:06.693 に答える
1

Windows でスタティック ライブラリを簡単に作成できます。cmake の構成ステップで WITH_STATIC_LIB を ON に設定するだけです。

注: libssh は LGPL の下でライセンスされています。

于 2011-11-21T14:12:47.587 に答える
0

さらに、新しい libssh バージョンには VS2012 が必要なため、VS2010 アプリケーションのビルドには libssh バージョン 0.5.0 以前を使用してください。

于 2015-04-27T03:37:05.703 に答える