2016-04-13 14 views
0

Ich habe zlib heruntergeladen und kompiliert, und ich verbinde zlibwapi.lib statisch mit meinem C++ - Projekt auf Visual Studio 2015. Allerdings, wenn ich nicht die DLL verwenden und starten Mein Programm, es beschwert sich darüber:Statische Verknüpfung zlib ohne die Notwendigkeit einer DLL

Mit der DLL obwohl, keine Fehlermeldung angezeigt wird und das Programm funktioniert gut.
Gibt es eine Möglichkeit, mein Programm ohne die Notwendigkeit von zlibwapi.dll zu verwenden?

+0

Wenn ich diese Art von Problem in MinGW/CMake hatte, füge ich '-static' zu' CMAKE_CXX_FLAGS' hinzu und es wird abgeschaltet. – user2475059

+0

Oh, ich habe komplett vergessen hinzuzufügen, dass ich Visual Studio 2015 verwende, um es zu kompilieren, ich werde es der Frage hinzufügen. Ich schätze, deine Lösung würde nicht für mich funktionieren, korrigiere mich, wenn ich falsch liege. – Spook

+0

Würde dies [http://stackoverflow.com/questions/8581247/vs2010-link-in-a-single-library-statically] helfen? – user2475059

Antwort

0

Ich habe dies mit MSVC 10 getan. Ich erstellte ein separates Projekt für zlib und baute es als eine statische Bibliothek (.lib), die ich dann zu meinem Hauptanwendungsprojekt hinzugefügt. Die Projekte befinden sich nicht im selben Arbeitsbereich. Ich musste eine separate Kopie von zlib.lib für 32-Bit- und 64-Bit-Builds meiner App erstellen, und die App selbst verwendet MFC in einer dynamischen DLL. Alles verbindet sich gut, und zlib ist nicht in einer DLL.

+0

Oh, das 32/64 Bit könnte das Problem für mich sein. Ich werde es überprüfen, danke! – Spook

Verwandte Themen