web-dev-qa-db-fra.com

Comment configurer Visual Studio pour enregistrer certaines #defines globalement?

Ce que je veux dire, c’est que, dans chacun de mes fichiers source, je dois insérer #define NOGDI pour empêcher Windows.h d’inclure les définitions GDI (car BITMAP définit les conflits avec les miens).

par exemple.

#define NOGDI
#include <windows.h>

Malheureusement, je dois le faire dans chaque fichier source séparé qui inclut windows.h, ce que je ne veux pas faire .. .. J'utilise Visual Studio 2005, puis-je le configurer de manière à ce que # définisse quelque chose globalement? (c'est-à-dire dans tous les fichiers source).

31
user631623

Paramètres du projet -> C/C++ -> Préprocesseur -> Définitions du préprocesseur

Ici, vous pouvez définir des symboles qui s'appliquent globalement à tout le code source de votre projet.

61
tenfour

J'avais configuré la définition nécessaire pour l'ensemble du projet, comme décrit dans Paramètres du projet -> C/C++ -> Préprocesseur -> Définitions du préprocesseur

Mais néanmoins cela n'a pas fonctionné!

Finalement, il s’est avéré que le problème était coché dans la case NoInherit, "Hériter des valeurs par défaut du parent ou du projet"

Dans la ligne de dialogue 'Définitions du préprocesseur', elle est vue comme suit:

Vérifié la chose en arrière et le définir finalement reconnu.

3
Mna

Pour VS2015, j'ai modifié le fichier .vcxproj et ajouté une section comme celle-ci:

<Project ToolsVersion="12.0" xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">  
  <ItemDefinitionGroup>
    <ClCompile>      
      <PreprocessorDefinitions>MY_VARIABLE=SOMETHING</PreprocessorDefinitions>
0
Alexander Torstling