fatal error C1190: 托管目标代码需要“clr”选项

fatal error C1190: 托管目标代码需要“clr”选项,第1张

错误指向一般是引用的外部库,如下:

#using <System.dll>

#using <System.Windows.Forms.dll>类似这样的

解决方法:

按照错误提示,在“项辩伍目”的“属性”窗口中的“全部”选项中,

找到:

中文磨键:公共语言运行库支持

英文:Common Language Runtime support

选中:

中文:公共语言运行库支持(/clr)

英文:Common Language Runtime support(/clr)

确定瞎灶巧之后重新编译一下就好了。

才把中间的环节打通,现在写出来为大家提供方便,这里包含了四个类型:

1、在VS2005中,C#编写DLL并使用C++调用

2、在VS2005中C#编写的COM组件,使用VC6.0调用

3、在VC6.0中编写COM组件,使用VS2005 C#调用

4、在VC6.0中编写COM组件,使散梁拿用VC6.0调用

其中每个类型都写了两个程序,一个为COM组件程序,一个为调用程序

程序实现:

1、在VS2005中,C#编写DLL并使用C++调用

(1)C#编写DLL程序

建立C#编写的DLL程序AddDll,项目类型为:类库

程序代码:

using System

using System.Collections.Generic

using System.Text

namespace AddDll

{

public class Add

{

public int iadd(int a, int b)

{

int c = a + b

return c

}

}

}

(2)C++编写调用程序

建立渣芹C++的Win32控制台应用程序UseDll,项目类型为:Win32控制台应用程序

配置:右键点击解决方案资源管理器中的UseDll,选择“属性”,将公共语言运行库支持设置为“公共语言运行库支持(/clr)”

公共语言运行库设置

C++编写调用程序:公共语言运行库设置

程冲搭序代码:

#include "stdafx.h"

#include "stdio.h"

#using "../debug/AddDll.dll"

using namespace AddDll

int _tmain(int argc, _TCHAR* argv[])

{

int result

Add ^add = gcnew Add()

result = add->iadd(10,90)

printf("%d",result)

scanf("%s")

return 0

}

2、在VS2005中C#编写的COM组件,使用VC6.0调用

(1)VS2005中使用C#编写COM组件

建立C#编写的COM组件,项目类型为类库

配置:右键点击解决方案资源管理器中的AddCom,选择“属性”,选择“生成”,选择“为COM Interop注册(_P)”

打开AssemblyInfo.cs文件,设置[assembly: ComVisible(true)]

这用就可以生成AddCom.tlb文件

VS2005中使用C#编写COM组件:COM生成设置

程序代码:

using System

using System.Collections.Generic

using System.Text

u

(2)VC6.0编写调用程序

使用VC6.0编写建立MFC应用程序UseCom,项目类型为MFC AppWizard(exe)

3、在VC6.0中编写COM组件,使用VS2005 C#调用

(1)VC6.0编写COM

使用VC6.0建立COM组件,工程类型:ATL COM AppWizard

程序代码:

接口:

(2)VS2005使用C#编写调用程序(网站程序)

使用VS2005建立网站UseCom

配置:在解决方案资源管理器中的主目录点击右键,选择添加引用,选择COM,添加刚刚建立的AddCom 1.0 Type Library

在程序中要using编写的COM组件:using ADDCOMLib

引用COM

VS2005使用C#编写调用程序:引用COM

程序代码:

u

4、在VC6.0中编写COM组件,使用VC6.0调用

(1)VC6.0编写COM组件

使用VC6.0建立COM组件,工程类型:ATL COM AppWizard

程序代码:

接口:

(2)VC6.0编写调用程序

使用VC6.0建立MFC应用程序UseCOM,调用刚刚建立的COM组件

将上面程序AddCom生成的AddCom.dll放入本程序的工程目录和程序生成目录中

在StdAfx.h中加入:

代码请参考:http://blog.csdn.net/fwj380891124/article/details/6719669


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12227163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存