2011-07-19 26 views
4

OpenSSLがlib Bの開始点であるthis質問に報告されたプロジェクトと実際に似たプロジェクトがあります。実行可能ファイル(Exe 1)をコンパイルするとき、OpenSSLリンクに関連するようなリンク問題が発生しているという問題があります。OpenSSLとの静的リンク

(cryptlib.obj) LNK2019: unresolved external symbol __alloca_probe_16 referenced in function _OPENSSL_isservice 
(bss_file.obj) LNK2001: unresolved external symbol __alloca_probe_16 
(b_print.obj) LNK2019: unresolved external symbol __ftol2_sse referenced in function _roundv 

ライブラリをコンパイルしても何ら誤りはありません。私はこれらの関数がどこにあるのか知りたいので、プロジェクトに正しい参照を追加することができます。

それは何の違いを作ることができる場合、私は、64ビットのPROCでWindows 7上で実行しているよ:)

EDIT1
VS2010でのWin32でコンパイルするときは、これらのエラーです。

EDIT2
のOpenSSL libに(libeay32.lib)も、(Win32用)VS2010のためnasmでコンパイルされました。

EDIT3
誰かが(OpenSSLの中**ファイルInstallWを指し以外)も参考になっだろうVS2010(vc2010)またはVS2008のコンパイラでOpenSSLを構築するためのリンク、

を指摘することができれば編集4
また、Windows DDK 2003を使用しています。ここで

答えて

2

は、私はこの問題を解決するために要した手順です。

はまた、我々のでエラー

をリンク__alloca_probe_16の解決のVisual Studio 2008のは、我々はこの問題を修正するためにいくつかのobjファイルを使用インストールされています。 alloca16.objは、Visual Studio 2008のフォルダの下に4つの異なるディレクトリに存在している(XXXdllmtxdllまたはxmtかもしれませんC:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/crt/src/intel/XXX_libのようなものでなければなりません。私はそれらのいずれかの違いは何か非常にわからないことに注意してください)。

プロジェクトのPropertiesパネルのLinker > General > Addtionnal Library Directoriesにこのパスを追加し、Linker > Input > Addtional Dependenciesにalloca16.objを追加すると問題が解決しました。この1つは少しトリッキーですエラー

をリンク__ftol2_sseを解決

no-sse2フラグでOpenSSLを設定すると、問題を修正するようなと思われますが、バージョン1.0.0dではありません。 (thisサイト上で示したように)そのサイト(http://software.intel.com/en-us/forums/showthread.php

+0

extern "C" { long _ftol(double); long _ftol2_sse(double dblSource) { return _ftol(dblSource); } } 

:私はこれを含む新しいヘッダーファイルを作成しましたか? t = 60003)は利用できなくなりました... – skyking

関連する問題