Zum Wohle anderer würde ich einschließen, was ich getan habe.
Da Sie Visual Studio (in meinem Fall 2010) nicht dazu bringen können, die LNK4204-Warnungen zu ignorieren, bestand mein Ansatz darin, ihm das zu geben, was er wollte: die PDF-Dateien. Da ich in meinem Fall Open Source-Bibliotheken verwendet habe, habe ich den Code, der die PDF-Dateien erstellt.
ABER standardmäßig werden alle PDF-Dateien gleich benannt: in meinem Fall vc100.pdb. Da Sie für jede .lib eine .pdb benötigen, entsteht ein Problem, insbesondere wenn Sie ImageMagik verwenden, mit dem etwa 20 statische .lib-Dateien erstellt werden. Sie können nicht 20 lib-Dateien in einem Verzeichnis haben (von denen der Linker Ihrer Anwendung auf Links in den Bibliotheken verweist) und alle 20 .pdb-Dateien haben dasselbe aufgerufen.
Meine Lösung bestand darin, meine statischen Bibliotheksdateien neu zu erstellen und VS2010 so zu konfigurieren, dass die PDF-Datei in Bezug auf das PROJEKT benannt wird. Auf diese Weise erhält jede .lib eine ähnlich benannte .pdb, und Sie können alle LIBs und PDBs in einem Verzeichnis ablegen, damit Ihr Projekt sie verwenden kann.
Für die "Debug" -Konfiguration habe ich Folgendes bearbeitet:
Eigenschaften-> Konfigurationseigenschaften -> C / C ++ -> Ausgabedateien -> Name der Programmdatenbank von
$ (IntDir) vc $ (PlatformToolsetVersion) .pdb
der folgende Wert sein:
$ (OutDir) vc $ (PlatformToolsetVersion) D $ (Projektname) .pdb
Anstatt irgendwo im Zwischenverzeichnis werden die PDF-Dateien in das Ausgabeverzeichnis geschrieben, in das auch die LIB-Dateien geschrieben werden, und vor allem werden sie mit dem Suffix D + Projektname benannt . Dieses Mittel jeder Bibliothek Projekt produduces ein Projekt Lib und eine projektspezifische PDB.
Ich kann jetzt alle meine Release-LIB-Dateien, meine Debug-LIB-Dateien und die Debug-PDF-Dateien an einen Ort auf meinem Entwicklungssystem kopieren. Das Projekt, das diese Drittanbieter-Bibliothek im Debug-Modus verwendet, verfügt über die PDF-Datei Dateien, die es im Debug-Modus benötigt.