XP-Style durch manifest - wie sieht's dann in WinVista/Win7 aus?



  • Ja, VS2008. Bist du dir sicher, dass ich nichts machen muss?

    Achja, und gleich noch eine Frage: Wenn ich eine statische lib erstelle, und dieser selbst mehr als eine .lib linke, bekomme ich warnings ("warning LNK4006: __NULL_IMPORT_DESCRIPTOR already defined" und "warning LNK4221: no public symbols found; archive member will be inaccessible").
    Kann ich das ignorieren?
    Ist doch normal, dass man einer statischen lib selbst wieder statische libs linken kann, oder?

    Danke!



  • Hab es gerade ausprobiert. Ohne manifestdependency habe ich keinen XP-Style.



  • ia64 steht für Itanium, amd64 für die "normalen" x64-Anwendungen (Intel Core, AMD64).

    Beim Kompilieren einer x64-Anwendung sollte man also schreiben

    /MANIFESTDEPENDENCY:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
    

    Ansonsten gilt für Vista/Win7 das gleiche wie für XP. Ohne Manifest kein Luna/Aero-Theme.



  • Wenn ich also nur 32bit kompiliere, brauche ich dann nur 'x86'? Selbst, wenn die Anwendung auf einem Intel Core/AMD64/Itanium ausgeführt wird?
    Ich kapier das nicht...

    Ja, aber mit diesem manifest hab ich dann in WinVista/Win7 auch den XP Style oder wie? Was bestimmt das? Die "version='6.0.0.0'"?


  • Mod

    Deine Applikation ist dan Themed und benutzt den Theme der am PC eingestellt. ist.
    Unter XP ist das eben der XP Stil Luna. Unter Windows 7 eben Scenic.



  • Ok danke, bleibt noch eine Frage offen.



  • Kurtz schrieb:

    Wenn ich also nur 32bit kompiliere, brauche ich dann nur 'x86'? Selbst, wenn die Anwendung auf einem Intel Core/AMD64/Itanium ausgeführt wird?
    Ich kapier das nicht...

    Wenn Du nur 32-bit kompilierst, dann brauchst Du auch nur 'x86'. 'amd64' steht für 64-bit.



  • Kurtz schrieb:

    Wenn ich eine statische lib erstelle, und dieser selbst mehr als eine .lib linke, bekomme ich warnings ("warning LNK4006: __NULL_IMPORT_DESCRIPTOR already defined" und "warning LNK4221: no public symbols found; archive member will be inaccessible").
    Kann ich das ignorieren?
    Ist doch normal, dass man einer statischen lib selbst wieder statische libs linken kann, oder?

    😕


  • Mod

    Eine statische Lib kann doch andere Libs verwenden...
    Sicher ist das normal. Das passiert doch schon mit der CRT. Dier CRT wird doch nicht in die statische Lib gezogen. In die kommt nur Dein Code!



  • Ok, hab mich nur drüber gewundert.


Anmelden zum Antworten