J'ai essayé de compiler une application avec Directx. Mais cela provoque une erreur PRJ0030 pour $(). Comment puis-je échapper des caractères critiques comme (,) ou des espaces. Je me suis référé au cmd que j'ai utilisé^mais ça n'aide pas.Devenv.exe avec/I et whitespacess
Répondre
cmd.exe
est malheureusement pas une carapace comme bash
, et l'analyse de la ligne de commande est à chaque programme individuel. Je ne peux pas parler pour devenv.exe
, mais une convention commune est d'entourer les chaînes gênantes avec des guillemets doubles ("
).
AdditionalLibraryDirectories=""$(DIRECTX_ROOT)\Lib\x86""
"
ne devrait pas être là. $ (DIRECTX_ROOT) nécessite que la macro soit définie dans une feuille de propriétés de projet. Vous êtes mieux épelant out:
AdditionalLibraryDirectories="c:\blah\dx9\Lib\x86"
Malheureusement, je dois le faire de cette façon, car nous aimerions définir le chemin avec des variables d'environnement. Sans le &qout; il me donne cette ligne de compilation: /I "C: \ Program Files (x86) \ Microsoft DirectX SDK (Mars 2009)" \ Include Mais la même erreur se produit. – Gerrit
Regarde à droite. Il y a cependant une double-citation mal placée avant le \ Include. Vérifiez la valeur de la variable d'environnement. Vous avez également mystérieusement changé pour Lib à inclure. –
La lib/include était une erreur de copier-coller, mais néanmoins le problème est le même. En effet, j'ai envoyé ma variable d'environnement, parce que j'ai essayé de la faire fonctionner comme ça, mais même sans guillemets, cela ne fonctionne pas. – Gerrit
J'ai essayé d'utiliser les citations comme celle-ci: [...] AdditionalLibraryDirectories = "" $ (DIRECTX_ROOT) \ Lib \ x86 "" [.. .] Mais cela ne semble pas fonctionner. Les guillemets doubles dans la variable n'aident pas non plus. – Gerrit