J'essaye d'employer Poco comme bibliothèque statique avec l'exécution dynamique dans mon projet. J'ai téléchargé les sources complètes de Poco 1.7.3 et j'ai utilisé le script buildwin.bat
pour compiler les bibliothèques en utilisant ma bibliothèque partagée OpenSSL 1.0.2h auto-compilée (c'est-à-dire ajusté le chemin en buildwin.bat
).Poco comme bibliothèque statique avec l'exécution dynamique nécessite l'importation de bibliothèque de DLL?
Produire PocoXYZmd.lib
via buildwin.bat 140 build static_md debug Win32 nosamples notests msbuild
fonctionne très bien.
Cependant, lorsque j'essaie de lier PocoXYZmd.lib
dans mon propre projet, l'éditeur de liens recherche PocoXYZ.lib
, la bibliothèque d'importation pour PocoXYZ.dll
.
Construire Poco avec shared
et fournir les bibliothèques d'importation PocoXYZ.lib
dans le chemin de recherche de l'éditeur de liens, j'obtiens des erreurs sur les symboles Poco étant déjà définis (évidemment).
Ai-je raté quelque chose de crucial ou est-ce un bug dans le script de construction de Poco?
J'ai configuré Poco pour construire uniquement les composants suivants: Fondation, XML, JSON, Util, Net, Crypto, NetSSL_OpenSSL.
En outre, je devais régler le V140 vcxproj
-files de Crypto et NetSSL_OpenSSL à un lien vers libeay32.lib
et ssleay32.lib
(les bibliothèques d'importation pour les DLL OpenSSL) au lieu de libeay32md.lib
et ssleay32md.lib
(aucune idée d'où ceux-ci pourraient provenir en fonction de les scripts de construction OpenSSL 1.0.2h). J'utilise Visual Studio 2015 Update 2 sur Windows 7, en faisant tout dans l'invite de développeur Visual Studio 32 bits.