IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

[Visual 2005] Forcer utilisation chemin absolu lors de compilation


Sujet :

Visual C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 31
    Points
    31
    Par défaut [Visual 2005] Forcer utilisation chemin absolu lors de compilation
    Bonjour à tous,

    J'ai un problème lorsque je compile un projet sous visual c++ 2005.
    Dans mes propriétés du projet, j'ai mis en répertoire intermédiaire : "D:\temp\[...]" (en chemin absolu)
    Mon projet se trouve dans D:\[........]\monProj.vcproj

    Lorsque je compile, dans les traces de sortie, il me met tous les chemins, en chemin relatif , ../../../../../../[...]/temp/[...]/xxx.obj
    Pourtant, dans les propriétés, on peut voir la ligne de commande, et dans celle ci, il y a bien le chemin absolu.

    Le gros problème, c'est que dans certains cas, lorsqu'on fait [cheminVcproj]\[RepInterRelatif]\[fichier], et bien sa taille dépasse les 255 caractères, ce que windows ne gère pas (je suis sous XP, mais j'ai l'impression que sur 7 c'est la même chose)
    Et visual me dit qu'il n'arrive pas a trouver le fichier, alors que tout est bon (fichier présent, chemin relatif correct...), car windows l'envoie bouler.

    Si je réduis la taille des noms des fichiers (qui donne moins de 255 caractères), ça marche.
    Si je change le lecteur (au lieu de D:\temp\, j'ai c:\temp), ca marche, car il ne peut pas transformer le chemin en chemin relatif.

    Ma question :
    Y a t il une option dans le projet/solution/visual... forçant visual à utiliser le chemin absolu (qui est fourni) et non le chemin relatif (qu'il créé lui même) ?


    J'ai d'autres solutions pour palier le problème de taille du chemin, mais que je trouve "crade" par rapport à mes besoins, donc je ne cherche pas un contournement.
    Je n'ai pas la possibilité de changer d'OS/version de visual...
    Je suis en train de changer de gestion de conf de mon soft et j'ai tout un tas de problème dont celui la.

    Si vous avez des questions, que tout n'est pas clair... n’hésitez pas, j'essaierai de préciser au mieux.

    En cous remerciant.

    Mike

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    et bien sa taille dépasse les 255 caractères, ce que windows ne gère pas (je suis sous XP, mais j'ai l'impression que sur 7 c'est la même chose)
    Windows le gère très bien, jusqu'à 32k même.
    Il faut juste que le système de fichier ne soit pas FAT mais NTFS et faire attention lors d'utilisations de ces chaines dans des shells ayant eux une limite.

    Si je réduis la taille des noms des fichiers (qui donne moins de 255 caractères), ça marche.
    Vraisemblablement une limitation du shell. Faut aussi voir que vous vous coltinez un compilateur vieux de 11 ans !!!

    Il y a très certainement une solution directement à votre problème, mais j'ai quand même un gros problèmes avec l'utilisation de "D:\temp\[...]" en dur dans un projet.

    Moi, j'ai tendance à mettre les fichiers intermédiaires dans l'arborescence de la solution, pour pas tout polluer.
    Sinon, si une solution ne peut pas tout regrouper, j'ai tendance à utiliser un "lecteur réseau" pour que tout soit bien rangé à la racine de ce lecteur et que les membres de l'équipe n'ont qu'à créer le même "lecteur réseau", contrairement à forcement avoir un "D:\temp\[...]" avec les droits nécessaires.

  3. #3
    Membre chevronné Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Points : 2 160
    Points
    2 160
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Windows le gère très bien, jusqu'à 32k même.
    La limitation de 32k est vraie pour le système de fichier NTFS mais l'API de Windows (y compris Windows 10), celle utilisée pour l'explorateur de fichiers, ne gère pas correctement les fichiers dont le chemin total fait plus de ~256 caractères.
    (Si quelqu'un a une solution autre que renommer les dossiers et/ou fichier et autre que monter un nouveau lecteur pour faire un raccourci, je suis preneur. Il faut utiliser des logiciels alternatifs ?)

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    En dehors de la "nouveauté" de Windows 10, pour utiliser des noms de fichiers de plus de MAX_PATH (260) caractères, il faut passer par des chemins UNC (i.e. des chemins réseau).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    J'en parle dans mon message des chemins UNC

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Bonjour, et merci pour vos réponses.

    Citation Envoyé par bacelar Voir le message
    Vraisemblablement une limitation du shell. Faut aussi voir que vous vous coltinez un compilateur vieux de 11 ans !!!
    Je suis bien conscient que je bosse sur des vieux trucs, mais je n'ai pas trop le choix

    Citation Envoyé par bacelar Voir le message
    Il y a très certainement une solution directement à votre problème, mais j'ai quand même un gros problèmes avec l'utilisation de "D:\temp\[...]" en dur dans un projet.

    Moi, j'ai tendance à mettre les fichiers intermédiaires dans l'arborescence de la solution, pour pas tout polluer.
    Sinon, si une solution ne peut pas tout regrouper, j'ai tendance à utiliser un "lecteur réseau" pour que tout soit bien rangé à la racine de ce lecteur et que les membres de l'équipe n'ont qu'à créer le même "lecteur réseau", contrairement à forcement avoir un "D:\temp\[...]" avec les droits nécessaires.
    A la base, on bossait sur Clearcase, donc surement pour éviter de polluer les vues/vobs... ils ont tout déplacé dans un chemin local (qui est sous forme de variable).
    Il m'est possible de changer les chemins... mais c'est pas dans un premier temps ce que je recherche.
    Mon but premier est que les personnes qui reprendront ce projet n'ait qu'a récupérer le code, et puisse compiler direct, sans avoir besoin de créer des répertoires, faire des subst.....
    D’où le fait que j'essaie de trouver des solutions a ce genre de problème !

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    sans avoir besoin de créer des répertoires, faire des subst.....
    Dans mon cas, une simple commande "subst" indiquée dans le README du projet faisait l'affaire.(chaque dev avait sa propre configuration et gérait lui-même où il avait encore de l'espace disque)

Discussions similaires

  1. Forcer utilisation de ClearType lors navigation
    Par Nitrox06 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 17/08/2011, 12h09
  2. Réponses: 1
    Dernier message: 11/02/2008, 09h18
  3. Utiliser gprof sur un programme compilé avec Visual C++ 2005
    Par G3G3 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 31/01/2008, 22h50
  4. utiliser CImg avec visual 2005
    Par surferisback dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 02/12/2006, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo