2 Stimmen

Statische Bibliothek verlinkt statisch in wxWidgets, aber Anwendungen, die meine Bibliothek verwenden, benötigen weiterhin wxwidgets

Hoffentlich kann mir hier jemand helfen. Ich bin mit Visual Studio 2005 und erstellen eine statische Bibliothek, die in wxWidgets statisch verknüpft. Ich habe:

  1. wxWidgets statisch kompiliert, wie in der Anleitung beschrieben
  2. das lib-Verzeichnis in meine Eigenschaft "Zusätzliche Bibliotheksverzeichnisse" aufgenommen
  3. hinzugefügt. alle der wxWidget-Bibliotheken in meiner Eigenschaft "Additional Dependencies" (Zusätzliche Abhängigkeiten)
  4. meine Eigenschaft "Bibliotheksabhängigkeiten verknüpfen" auf "Ja" setzen
  5. setzen Sie die C++-Optimierung auf Deaktiviert.

Ich weiß, dass einige dieser Schritte nicht nötig sind, aber ich habe sie nur für den Fall der Fälle durchgeführt.

Während meine Bibliothek problemlos kompiliert wird, beschwert sich die Testanwendung, die meine statische Bibliothek enthält, während des Linkens, dass sie 'wxbase28.lib' (die ich eingeschlossen habe) nicht finden kann.

Ich sollte anmerken, dass ich wxWidgets komplett abstrahiert habe, so dass die öffentliche API der Bibliothek keine Erwähnung von wxWidget-bezogenen Elementen enthält. Die Testanwendung sollte nicht wissen, dass wxWidgets existiert.

Meine winzige Bibliothek ist auf über 51 MB angewachsen, also habe ich das Gefühl, dass die Bibliotheken eingebunden werden... warum beschwert sich dann meine Testanwendung, dass sie die wxWidgets-Bibliothek nicht finden kann?

Dankeschön

2voto

Chris Becke Punkte 32199

Es ist der Link-Schritt im Build-Prozess, der die abhängigen Bibliotheken einbindet: Wenn Sie eine statische Bibliothek bauen, werden KEINE rekursiven Abhängigkeiten einbezogen, da es keinen Link-Schritt gibt.

Also beide - Ihre - und wx's - statische Libs müssen dann für die endgültige Anwendung zu verknüpfen vorhanden sein.

0voto

Jim Buck Punkte 19904

Ich hasse es, das Offensichtliche vorzuschlagen, aber ist wxbase28.lib in der Liste der Abhängigkeiten Ihrer Testanwendung aufgeführt?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X