【发布时间】:2011-10-27 01:16:41
【问题描述】:
我从codeProject下载了一段代码。
#if 预处理器指令似乎没有像我预期的那样工作。
我没有在MyProject >> Properties >> Build Tab >> Conditional compiler symbols中定义DSHOWNET(对话框为空)
在下面的代码中,构建项目时显示错误DShowNET 找不到。由于 DSHOWNET 从未被定义,我很惊讶“使用 DShowNET”甚至被处理了。
using System;
using System.Collections;
using System.Runtime.InteropServices;
#if DSHOWNET
using DShowNET;
using DShowNET.Device;
#else
#if VS2003
#else
using System.Runtime.InteropServices.ComTypes;
#endif
using DirectShowLib;
#endif
#if 预处理器指令是否在 Visual Studio Express 版本中工作? DSHOWNET 是否需要明确“未定义”?还是我遗漏了其他一些基本概念?
【问题讨论】:
-
查看
#if DSHOWNET语句中的代码——它是灰色的,还是有正常的语法着色? -
@slugster,语法着色表明 else 之后的语句被忽略了。 shelleybutterfly 下载了代码,发现 DSHOWNET 是在解决方案中的另一个项目中定义的。感谢您对语法着色的提示,这在将来会有用。
标签: c# c-preprocessor visual-studio-express