OpenSSL 1.0.1e ライブラリを使用する Windows 用の C++ アプリケーションに取り組んでいます。私はVisual Studio 2008を使用しています。
移植性の理由から、私のアプリケーションはランタイム ライブラリ (/MTおよび/MTdオプション) に対して静的にリンクされています。また、アプリケーションにランタイム ライブラリを同梱していません。
OpenSSL FAQによると、ライブラリはデフォルトでマルチスレッド DLL ランタイム ( /MDd) に対してリンクされていますが、これは明らかに私のシナリオと互換性がありません。applink.cしたがって、プログラムを機能させるために、プロジェクトに追加しました。私の開発マシンとほとんどのテスト コンピューターでは、プログラムは正常に動作します。
残念ながら、アプリが起動しないコンピューターを見つけました。Windows に次のエラーが表示されます。
The application failed to initialize properly (0xc0150002). Click on OK to
terminate the application.
libeay32.dllDependency Walker で開いたところ、MSVCR90.dll見つからないことがわかりました。したがって、 のトリックは実際にapplink.cは機能しません。
/MTまたは/MTdオプションを使用して OpenSSL を構築するにはどうすればよいですか?