{"id":78,"date":"2007-06-04T22:32:04","date_gmt":"2007-06-04T20:32:04","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2007\/06\/04\/_mfc_noforce_manifest-und-_atl_noforce_manifest\/"},"modified":"2007-12-04T12:32:54","modified_gmt":"2007-12-04T11:32:54","slug":"_mfc_noforce_manifest-und-_atl_noforce_manifest","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2007\/06\/04\/_mfc_noforce_manifest-und-_atl_noforce_manifest\/","title":{"rendered":"_MFC_NOFORCE_MANIFEST und _ATL_NOFORCE_MANIFEST"},"content":{"rendered":"<p>In meinem Blog habe ich bereits \u00fcber Libraries und die Verwendug von <em>_CRT_NOFORCE_MANIFEST<\/em> geschrieben (siehe Link unten).<\/p>\n<p>Wenn man nun eine Library erzeugt, die die MFC oder die ATL benutzt, sollte man sich auch noch der beiden Defines <em>_MFC_NOFORCE_MANIFEST <\/em>und <em>_ATL_NOFORCE_MANIFEST <\/em>bewusst sein. Diese beiden Defines verhindern, dass durch die Verwendung der ATL bzw. MFC Include-Dateien <em>#pragma comment(linker,\u201d\/manifestdependency:..\u201d)<\/em> Statements erzeugt werden.<\/p>\n<p>Werden diese Defines konsequent verwendet, dann hat der Benutzer der Library die volle Kontrolle welche CRT, MFC bzw. ATL Version angebunden wird.<\/p>\n<p>Warum man sich mit diesen Defines beim erzeugen einer Library auseinenadersetzen sollte kann man in diesem Artikel nachlesen: <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/03\/22\/warum-man-seine-libraries-mit-_crt_noforce_manifest-erzeugen-sollte\/\">Warum man seine Libraries mit _CRT_NOFORCE_MANIFEST erzeugen sollte!<\/a><\/p>\n<p>\u2757 BTW: Durch diese Defines kann man allerdings nicht verhindern, dass \u00fcberhaupt Manifest-Eintr\u00e4ge erzeugt werden. Selbst wenn man sein Programm mit den entsprechenden Defines kompiliert. Die Objektdateien haben dann zwar keine Manifest-Eintr\u00e4ge, aber sp\u00e4testens in dem Moment, in dem man das Programm linkt werden aus der CRT, MFC bzw. ATL Libraries Objektdateien gezogen die wieder entsprechende <em>#pragma comment(linker,\u201d\/manifestdependency:..\u201d)<\/em> Eintr\u00e4ge haben. Entsprechend bekommt das Manifest Tool dann auch Futter. Dazu mehr in einem sp\u00e4teren Artikel \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In meinem Blog habe ich bereits \u00fcber Libraries und die Verwendug von _CRT_NOFORCE_MANIFEST geschrieben (siehe Link unten). Wenn man nun eine Library erzeugt, die die MFC oder die ATL benutzt, sollte man sich auch noch der beiden Defines _MFC_NOFORCE_MANIFEST und _ATL_NOFORCE_MANIFEST bewusst sein. Diese beiden Defines verhindern, dass durch die Verwendung der ATL bzw. MFC &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/06\/04\/_mfc_noforce_manifest-und-_atl_noforce_manifest\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201e_MFC_NOFORCE_MANIFEST und _ATL_NOFORCE_MANIFEST\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[25,19,4,3],"tags":[360,69,352,358,36,44],"class_list":["post-78","post","type-post","status-publish","format-standard","hentry","category-atl","category-crt","category-mfc","category-programmieren","tag-crt","tag-manifest","tag-mfc","tag-vista","tag-vs-2005","tag-vs-2008"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/78","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=78"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/78\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=78"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=78"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=78"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}