Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VisualC++项目中不能使用系统命名空间_C++_Namespaces_Atl - Fatal编程技术网

VisualC++项目中不能使用系统命名空间

VisualC++项目中不能使用系统命名空间,c++,namespaces,atl,C++,Namespaces,Atl,我有一个ATL项目,其中我必须使用系统名称空间来设置环境变量。我试过: #using <mscorlib.dll> using namespace System; 在我的dllmain.cpp文件中 在建筑过程中,我得到: 致命错误C1190:即使在添加/clr选项project->properties->common language runtime支持之后,托管目标代码仍需要“/clr”选项 如果我使用mscorlib.dll删除,我将获得: 错误C2871:“系统”:具有此

我有一个ATL项目,其中我必须使用系统名称空间来设置环境变量。我试过:

#using <mscorlib.dll>
using namespace System; 
在我的dllmain.cpp文件中

在建筑过程中,我得到:

致命错误C1190:即使在添加/clr选项project->properties->common language runtime支持之后,托管目标代码仍需要“/clr”选项

如果我使用mscorlib.dll删除,我将获得:

错误C2871:“系统”:具有此名称的命名空间不存在

如何在ATL项目中使用此命名空间?

请参阅MSDN

我在此引述答案:

在包含对mscorlib.dll的引用时,需要让 编译器知道您的目标是.NET运行时。编译程序 控制此操作的开关为/clr-因此显示错误消息 看到。从解决方案中的项目系统启用此选项 资源管理器窗格右键单击项目,选择配置 常规,然后选择公共语言运行时支持 从下拉列表中选择公共语言运行时支持 /clr

在C++标识符中,p>是区分大小写的:我怀疑这个名称应该是 是系统::控制台

请参阅MSDN

我在此引述答案:

在包含对mscorlib.dll的引用时,需要让 编译器知道您的目标是.NET运行时。编译程序 控制此操作的开关为/clr-因此显示错误消息 看到。从解决方案中的项目系统启用此选项 资源管理器窗格右键单击项目,选择配置 常规,然后选择公共语言运行时支持 从下拉列表中选择公共语言运行时支持 /clr

在C++标识符中,p>是区分大小写的:我怀疑这个名称应该是 是系统::控制台


我必须使用系统名称空间来设置环境变量你在说什么环境变量?e、 它们是自定义环境,而目标是机器。因此,我使用System::Environment和System::EnvironmentVariableTarget使用以下环境::SetEnvironmentVariablevariablename、variablevalue、EnvironmentVariableTarget::Machine;听起来好像你的应用程序不是.net,但你正在尝试调用.net库。您可以使用普通的winapi,谢谢。但是我想用最少的代码在机器级别设置变量,有没有办法在atl项目中使用上面的库?我必须使用系统名称空间来设置环境变量你在说什么环境变量?e、 它们是自定义环境,而目标是机器。因此,我使用System::Environment和System::EnvironmentVariableTarget使用以下环境::SetEnvironmentVariablevariablename、variablevalue、EnvironmentVariableTarget::Machine;听起来好像你的应用程序不是.net,但你正在尝试调用.net库。您可以使用普通的winapi,谢谢。但是我想用最少的代码在机器级别设置变量,有没有办法在atl项目中使用上面的库?谢谢你的帮助。但是正如我在问题中提到的,/clr已经在configurationproperties->General中设置好了。我使用的是System::Environment和System::EnvironmentVariableTarget。我尝试使用您提到的名称空间,但没有任何帮助;试试这个对不起,问题打错了。它实际上是在我的代码中使用的。如果我的答案有助于解决您的问题,请单击复选框接受答案,谢谢:谢谢帮助。但是正如我在问题中提到的,/clr已经在configurationproperties->General中设置好了。我使用的是System::Environment和System::EnvironmentVariableTarget。我尝试使用您提到的名称空间,但没有任何帮助;试试这个对不起,问题打错了。它实际上在我的代码中使用。如果我的答案有助于解决您的问题,请单击复选框接受答案,谢谢: