{"id":903,"date":"2011-10-16T19:54:35","date_gmt":"2011-10-16T17:54:35","guid":{"rendered":"http:\/\/blog.m-ri.de\/?p=903"},"modified":"2011-10-14T07:58:46","modified_gmt":"2011-10-14T05:58:46","slug":"fur-was-ist-der-makro-preprocessordefinitions-gut","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2011\/10\/16\/fur-was-ist-der-makro-preprocessordefinitions-gut\/","title":{"rendered":"F\u00fcr was ist der Makro %(PreprocessorDefinitions) gut ?"},"content":{"rendered":"<p>In den C++ Compilereinstellungen finden sich ein vorgegebener Makro <em>%(PreprocessorDefinitions)<\/em>\u00a0in den C++ Pr\u00e4prozessor Definitionen. Die Verwendung dieses Makros ist nicht ganz offensichtlich.<\/p>\n<p>Dieser Makro sollten in jedem Fall nicht entfernt werden, denn Sie dienen der \u00dcbernahme einiger Einstellungen aus der <em>General<\/em>-Seite f\u00fcr die C++ Projekte. Zum Beispiel werden die Einstellungen f\u00fcr Unicode und MBCS \u00fcber den Makro <em>%(PreprocessorDefinitions)<\/em>\u00a0in die allgemeinen Compiler-Einstellungen \u00fcbernommen (die entsprechenden Defines sind <em>_UNICODE; UNICODE; _MBCS <\/em>).<br \/>\nErzeugt man eine DLL wird zus\u00e4tzlich <em>_WINDLL<\/em> gesetzt.<br \/>\nSetzt man ATL Optionen in der General Seite wird auch \u00fcber die <em>%(PreprocessorDefinitions) _ATLDLL<\/em> bzw. <em>_ATL_STATIC_REGISTRY<\/em> gesetzt oder zur\u00fcckgesetzt.<br \/>\nGleiches gilt, wenn die <em>MFC<\/em>\u00a0als shared DLL verwendet wird. In diesem Fall wird der Define <em>_AFXDLL<\/em> zus\u00e4tzlich gesetzt.<\/p>\n<p>L\u00f6scht man also <em>%(PreprocessorDefinitions)<\/em>\u00a0dann werden alle diese Einstellungen nicht mehr \u00a0korrekt \u00fcbernommen.<\/p>\n<p>Anmerkung:<br \/>\nBei dem Linker Makro\u00a0<em>%(AdditionalDependencies) <\/em>habe ich eine \u00e4hnliche Verwendung vermutet, konnte aber keine direkte Beziehung zur Seite General herstellen.<\/p>\n<p>Obwohl es auch hier Einfl\u00fcsse auf die Linkereinstellungen gibt bei \u00c4nderungen in den <em>General<\/em>-Einstellungen. Werden allerdings die MFC\u00a0als zus\u00e4tzliche Bibliothek ausgew\u00e4hlt werden die Standard-LIBs aus dem SDK\u00a0komplett entfernt. Hier gibt die MFC\u00a0Bibliothek selbst vor in welchen zus\u00e4tzlichen Libs, des SDK\u00a0gesucht werden soll \u00fcber #pragma\u00a0comment(lib,..).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In den C++ Compilereinstellungen finden sich ein vorgegebener Makro %(PreprocessorDefinitions)\u00a0in den C++ Pr\u00e4prozessor Definitionen. Die Verwendung dieses Makros ist nicht ganz offensichtlich. Dieser Makro sollten in jedem Fall nicht entfernt werden, denn Sie dienen der \u00dcbernahme einiger Einstellungen aus der General-Seite f\u00fcr die C++ Projekte. Zum Beispiel werden die Einstellungen f\u00fcr Unicode und MBCS \u00fcber &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2011\/10\/16\/fur-was-ist-der-makro-preprocessordefinitions-gut\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eF\u00fcr was ist der Makro %(PreprocessorDefinitions) gut ?\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,20,4,3,27,172],"tags":[370,273,44,171],"class_list":["post-903","post","type-post","status-publish","format-standard","hentry","category-atl","category-crt","category-ide","category-mfc","category-programmieren","category-vs2008","category-vs2010","tag-c","tag-compiler","tag-vs-2008","tag-vs-2010"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/903","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=903"}],"version-history":[{"count":1,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/903\/revisions"}],"predecessor-version":[{"id":907,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/903\/revisions\/907"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=903"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}