Benutzer mit den meisten Antworten
LIB Dateien seit SP3

Frage
Antworten
-
Also es liegt nicht an den Projektdateien, es ist etwas das ich include, irgendwas mit XML, was genau hab ich noch nicht herausgefunden ....
Freudi
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 3. November 2014 15:39
-
Man muss im XML2 Project (http://xmlsoft.org/), wenn man die Bibliothek erstellt IN_LIBXML definieren und wenn man die Bibliothek verwendet darf es nicht definiert sein. Es ist allerdings auch nachvollziehbar so das das mit den SELBEN XML Quelldateien NUR bei VS2013 SP3 passiert, nicht bei kleineren SP's und auch nicht bei VS2008.
Ich habe aber jetzt keinen Ehrgeiz mehr herauszufinden ob vielleicht das Verhalten unter SP3 das richtige ist oder das der vorhergehenden Versionen.
Freudi
Freudi
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 19. November 2014 14:42
Alle Antworten
-
Hallo Freudi,
Wurde das Projekt mit dem MFC Anwendungs-Assistent oder MFC DLL Assistent erstellt? Gibt es in Deinem Projekt eine .def-Datei, die einen „Exports“-Abschnitt enthält? War das der Fall bei den vorigen Projekten, als keine .exp und .lib-Dateien erstellt wurden? Wenn es einen solchen Abschnitt dort gibt, werden die entsprechenden Dateien erstellt. Siehe dazu: Arbeiten mit Importbibliotheken und Exportdateien und EXPORTSWenn das obige Verfahren für die Lösung nicht ausreicht, würdest Du überprüfen, ob in den Eigenschaften des Projekts unter Projekt->Eigenschaften->Konfigurationseigenschaften->Allgemein->Verwendung von MFC „MFC in einer statischen Bibliothek verwenden“ oder „MFC in einer dynamischen Bibliothek verwenden“ ausgewählt ist.
Grüße,
DimitarBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hi Dimitar
Ja das Projekt wurde mal mit VS2008 unter zu Hilfenahme des MFC Assistenten erstellt. Später dann auf VS2013 upgedatet. Bis zum SP2 wurde nur die EXE erstellt. Seit meinem Update auf SP3 werden jetzt aber bei allen MFC Projekten EXP und LIB Dateien erstellt.
Es gibt keine DEF Datei und MFC wird immer in der statischen Variante verwendet und kein Unicode
Das ist die Compiler Zeile
/Yu"stdafx.h" /GS /GL /analyze- /W3 /wd"4101" /Zc:wchar_t /Zi /Gm- /O2 /Fd"Release\vc120.pdb" /fp:precise /D "_IFVMAP" /D "_USING_V110_SDK71_" /D "_MBCS" /D "NO_WARN_MBCS_MFC_DEPRECATION" /errorReport:prompt /WX- /Zc:forScope /arch:SSE2 /Gd /Oy- /Oi /MT /Fa"Release\" /EHsc /nologo /Fo"Release\" /Ot /Fp"Release\FisaGis.pch"
Und das die Linkerzeile
/OUT:"E:\Development\MSVC12\IFV\IFVMap\\Install\FisaGis.exe" /MANIFEST /LTCG /PDB:"E:\Development\MSVC12\IFV\IFVMap\\Install\FisaGis.pdb" /DYNAMICBASE:NO /LARGEADDRESSAWARE /DEBUG /MACHINE:X86 /OPT:REF /SAFESEH:NO /INCREMENTAL:NO /PGD:"E:\Development\MSVC12\IFV\IFVMap\\Install\FisaGis.pgd" /SUBSYSTEM:WINDOWS",5.01" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Release\FisaGis.exe.intermediate.manifest" /OPT:ICF /ERRORREPORT:PROMPT /NOLOGO /DELAYLOAD:"Dwmapi.dll" /DELAYLOAD:"avformat-55.dll" /DELAYLOAD:"avcodec-55.dll" /DELAYLOAD:"avutil-52.dll" /DELAYLOAD:"swscale-2.dll" /TLBID:1
Es gibt keine Pre/Post Buildereignisse. Ich habe keine Erklärung. Es ist ohne Änderung bei den Projekten bei allen so und erst nachdem ich SP3 eingespielt habe.
Freudi
-
Hallo Freudi,
Ich habe heute eine MFC-Anwendung erstellt, um mir die Dateien genauer anzusehen. Bei mir entstehen keine .lib und .exp-Dateien nebst der .exe-Datei.
Das ist die Compiler Zeile
/Yu"stdafx.h" /GS /GL /analyze- /W3 /wd"4101" /Zc:wchar_t /Zi /Gm- /O2 /Fd"Release\vc120.pdb" /fp:precise /D "_IFVMAP" /D "_USING_V110_SDK71_" /D "_MBCS" /D "NO_WARN_MBCS_MFC_DEPRECATION" /errorReport:prompt /WX- /Zc:forScope /arch:SSE2 /Gd /Oy- /Oi /MT /Fa"Release\" /EHsc /nologo /Fo"Release\" /Ot /Fp"Release\FisaGis.pch"
In meinen Einstellungen ist Funktionslevel-Linking aktivieren gewählt, dann erscheint in der Compilerzeile /Gy . (in den Projektinstellungen C/C++ -> Codegenerierung).
Außerdem habe ich in meinen Einstellungen keine verzögert geladene DLLs (kein /DELAYLOAD in der Linkerzeile)
Verschwinden die .exp und .lib-Dateien, wenn Du in der Anwendung keine verzögert geladene Dlls hast? Wenn nicht, verschwinden sie, wenn Du zusätzlich das Funktionslevel-Linking aktivierst?
Die allgemeinen Einstellungen meines Projekts sind: Konfigurationstyp .exe, Keine Common Language Runtime-Unterstützung, MFC in einer statischen Bibliothek verwenden, Link-Zeitcodegenerierung verwenden
Siehe dazu: Microsoft Visual Studio ~ C/C++ Runtime Library ~ Static/dynamic linking
Grüße,
Dimitar
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Bearbeitet Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 27. Oktober 2014 10:42
-
Ja ich hab mal ein neues MFC Projekt erstellt und dann auch mal ein neues mit VS2008, was ich dann mit VS2013 geöffnet habe, da wird kein LIB File generiert. Sehr merkwürdig ist das es bei VS2013 SP2 mit demselben Projekt nicht passiert, nur bei SP3. Es betrifft auch nicht nur ein Projekt sondern viele (nicht alle!) von meinen alten Projekten die ich mit VS2008 angefangen habe. Ich denke ich muss mir mal ein einfaches heraussuchen, dummerweise habe ich gleich das komplizierteste gegriffen mit delayed load ffmpeg DLL's usw. um das Problem hier zu schildern. Dann vergleiche ich mal alle Einstellungen vcproj, das ist zwar sehr zeitaufwendig habe ich habe ja gerade ne Woche Urlaub. Ich poste das Ergebnis auf alle Fälle.
Freudi
-
Also es liegt nicht an den Projektdateien, es ist etwas das ich include, irgendwas mit XML, was genau hab ich noch nicht herausgefunden ....
Freudi
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 3. November 2014 15:39
-
Hallo Freudi,
Du hast also festgestellt, dass dieses Verhalten eher an den eingegliederten Dateien liegt, weshalb ich diesen Thread als beantwortet markiere. Jedenfalls sind genauere Aufschlüsse, wenn Du solche herausfindest, willkommen.
Gruß,
DimitarBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Man muss im XML2 Project (http://xmlsoft.org/), wenn man die Bibliothek erstellt IN_LIBXML definieren und wenn man die Bibliothek verwendet darf es nicht definiert sein. Es ist allerdings auch nachvollziehbar so das das mit den SELBEN XML Quelldateien NUR bei VS2013 SP3 passiert, nicht bei kleineren SP's und auch nicht bei VS2008.
Ich habe aber jetzt keinen Ehrgeiz mehr herauszufinden ob vielleicht das Verhalten unter SP3 das richtige ist oder das der vorhergehenden Versionen.
Freudi
Freudi
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 19. November 2014 14:42