2016-06-21 8 views
0

私はプロジェクト内でダイナミックランタイムを持つ静的ライブラリとしてPocoを使用しようとしています。私はPoco 1.7.3の完全なソースをダウンロードし、buildwin.batスクリプトを使用して、自己コンパイルされたOpenSSL 1.0.2h共有ライブラリ(すなわち、buildwin.batのパスを調整したライブラリ)を使ってライブラリをコンパイルしました。ダイナミックランタイムを持つ静的ライブラリとしてのPocoにはDLLのインポートライブラリが必要ですか?

PocoXYZmd.libからbuildwin.bat 140 build static_md debug Win32 nosamples notests msbuildまで生成します。

ただし、私自身のプロジェクト内でPocoXYZmd.libとリンクしようとすると、リンカはPocoXYZ.dllのインポートライブラリPocoXYZ.libを検索します。

sharedでPocoをビルドし、リンカー検索パス内にPocoXYZ.libインポートライブラリを提供すると、私はPocoシンボルが既に定義されている(明らかに)エラーになります。

私は何かが欠けているか、それともPocoのビルドスクリプトのバグですか?財団、XML、JSON、Utilの、ネット、暗号、NetSSL_OpenSSL:


は、私は、次のコンポーネントを構築するためにポコを設定しました。

また、私はlibeay32.libssleay32.libにリンクしてV140に暗号とNetSSL_OpenSSLのvcxproj -filesを調整しなければならなかった(OpenSSLのDLLのインポートライブラリ)の代わりにlibeay32md.libssleay32md.libのは(これらは上のベースから来ることができていないのアイデアOpenSSL 1.0.2hビルドスクリプト)。

私はVisual Studio 2015 Update 2をWindows 7で使用しています.32ビットVisual Studio Developer Prompt内のすべてを実行しています。

答えて

1

ポコのドキュメントを再読み込み、私は最終的に解決策を見つけた後:

Windows上で静的にポコを使用する場合はポコを使用してライブラリ/アプリケーションをコンパイルするとき、人はPOCO_STATICを指定する必要があり、そうでない場合は、いくつかの#pragma commentディレクティブポコのヘッダになります静かにPocoのDLLバージョンへのリンクを強制します。

http://pocoproject.org/docs/99150-WindowsPlatformNotes.html

おかげで、RTFM。

関連する問題