• ベストアンサー

VC8でOpensslを使う方法

Visual Studio 2005でOpensslを使用したいのですが、 ソースでは、#include <openssl/rand.h> のように使用。 http://www.limber.jp/?Software%2FOpenSSL%20for%20Windows にある、openssl-0.9.8e-win32-bin_dynamic.zip を利用させていただきたいのですが、 .dllや.libファイルはどこに置けば宜しいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.3

>ソースでは、#include <openssl/rand.h> この様な使用方法をする場合、プロジェクトの検索パスを 設定するのが一般的な方法です。 #VC2005は使ったことがありませんが、 #VC2003では、[ツール]→[オプション]→[Project]→[ディレクトリ]でユーザごとに #[プロジェクト]→[プロパティ]→[リンカ]→[追加のライブラリ ディレクトリ]で、プロジェクト毎に設定可能です。 >.dllや.libファイルはどこに置けば宜しいのでしょうか? 好きなところ、判りやすいところ、 またはプロジェクトなどで他に使用しているDLLのlibなどが あるところにおけばいいと思います。 上で述べたようにプロジェクトのパスを設定すれば どこでもよいのです。 >.dllや.libファイルはどこに置けば宜しいのでしょうか? DLLとLIBの違いは判っていますか? DLLファイルはコンパイルとは無関係ですので、これが無くても コンパイルは可能です。 LIBファイルには生成されたバイナリが外部にエクスポートしてる 関数などの情報をもったファイルで、公開される関数の仕様が 変わったり、関数が追加されたりしない限りは変更する必要は ありません。 このファイルは通常コンパイル後のリンク時にしようされます。 上で述べたとおり、これはプロジェクトで検索パスを指定している 場所にそれがあれば自動的にリンクされます。 DLLはコンパイルされたバイナリが実行時にロードします。 これらは通常そのDLLを使用する実行ファイルと同じパスに置くか、 または、Windowsの場合環境変数PATHで登録されたパスに置くことで、 ロードが可能となります。(リンクすものにもよるかも) ただし、VCなどでデバックを行う場合、実行ファイルのカレントが 実行ファイルのパスではなくプロジェクトファイルのパスになる事に 注意してください。

その他の回答 (2)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

ちょっと書き方が足らなかったですね。MFCを使っている時だけ出る問題です。すいません混乱させて。 opensslだと出ない問題かも知れません。使っている関数次第なので。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

開発時は、dllは実行ファイルのあるフォルダ。libはソースファイルのあるフォルダに置くのが一番簡単です。 ただ、Visual Studio 2005利用時は自分でdllとlib作らないとリンクエラーが出る気がします。リンクエラーするようなら聞いてください。

lovelace21
質問者

補足

回答ありがとうございます。 >ただ、Visual Studio 2005利用時は自分でdllとlib作らないとリンクエラーが出る気がします。 ということは、サイトにあるファイルはそのまま使っても意味がないと いうことでしょうか?