2011-03-13 7 views
1

J'ai un projet C++ développé à l'origine sous Linux (Eclipse). Comme je voulais que mon application s'exécute également sous Windows, j'ai extrait la partie non portable du code dans un fichier NonPortable.hpp (cpp) distinct. Mon plan était de partager le code dans un projet Visual Studio tout en excluant le matériel Linux non portable et en incluant les versions de Windows.C++ Visual Studio 2010 Exclure un fichier du projet/build

/I"D:\...\Visual Studio 2010\Projects\PROJECT\include" /I"D:\SHARED FOLDER\include" 

Le premier chemin contient la version Windows de NonPortable.hpp tandis que le second chemin contient tout autre fichier d'en-tête (y compris la version Linux de NonPortable.hpp). Maintenant, le problème est que peu importe ce que je fais, le compilateur inclut toujours (aussi) la version Linux. J'ai essayé de l'exclure du projet/build sans succès.

Répondre

0

Si certains des autres en-têtes incluent NonPortable.hpp, ils le rechercheront d'abord dans leur propre répertoire.

J'aurais mis le code dépendant du système dans deux répertoires distincts, un pour Windows et un pour Linux. Ensuite, vous pouvez utiliser des chemins d'inclusion légèrement différents sur chaque système, comme vous avez commencé à le faire ici.