带有 /I 和空格的 Devenv.exe
Posted
技术标签:
【中文标题】带有 /I 和空格的 Devenv.exe【英文标题】:Devenv.exe with /I and whitespacess 【发布时间】:2010-03-22 09:08:24 【问题描述】:我尝试使用 Directx 编译应用程序。但这会导致 $() 出现 PRJ0030 错误。 如何转义 (,) 或空格等关键字符。参考我使用过的 cmd ^ 但它没有帮助。
【问题讨论】:
【参考方案1】:AdditionalLibraryDirectories=""$(DIRECTX_ROOT)\Lib\x86""
&quot
不应该在那里。 $(DIRECTX_ROOT) 需要在项目属性表中设置宏。你最好把它拼出来:
AdditionalLibraryDirectories="c:\blah\dx9\Lib\x86"
【讨论】:
不幸的是我需要这样做,因为我们想用环境变量设置路径。没有 &qout;它给了我这个编译器行:/I "C:\Program Files (x86)\Microsoft DirectX SDK (March 2009)"\Include 但是同样的错误发生了。 看起来差不多。然而,在 \Include 之前有一个错误放置的双引号。检查环境变量值。您还神秘地将 Lib 切换为 Include。 lib / include 是一个复制和粘贴错误,但问题是一样的。事实上,我已经引用了我的环境变量,因为我试图让它像这样工作,但即使没有双引号它也不起作用。 @Esco:我现在有点迷路了,因为复制/粘贴错误和随机位置的引号。打开 Buildlog.htm 文件并将您在此处看到的 cl.exe 命令行复制到您的问题中,以便我们知道它真正的样子。【参考方案2】:cmd.exe
不幸的是不是像bash
这样的合适的shell,并且解析命令行取决于每个单独的程序。我不能代表 devenv.exe
,但一个常见的约定是用双引号 ("
) 将麻烦的字符串括起来。
【讨论】:
我尝试使用这样的引号:[...] AdditionalLibraryDirectories=""$(DIRECTX_ROOT)\Lib\x86"" [...] 但它似乎不起作用。变量中的双引号也无济于事。以上是关于带有 /I 和空格的 Devenv.exe的主要内容,如果未能解决你的问题,请参考以下文章
在 devenv.exe 中将 microsoft 编译器从 vc14 更改为 vc12
Django Tastypie:带有“空格”的反向 url。如何?
如何将带有空格的路径作为参数添加到 CreateProcess 批处理文件?