带有 /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 批处理文件?

devenv.exe 和 svchost.exe 都占用了整个 CPU,并且占用的线程在堆栈跟踪的顶部具有相同的功能

CCnet devenv.exe 错误

作为 devenv 命令启动 exe