C++调用C#写的dll文件出错

问题描述

,最近在做一项课设,其中用到了C++调用C#的dll文件。不知所措的我上网搜到了很多方法,走了很多方法出现了下面的问题。换了很多方法,都是一样的问题。crl已经改了,多线程也改了。但是还有错,百般无奈之下,于是求助环境:VS2010下面是我的报错问题1>------已启动全部重新生成:项目:TTs,配置:DebugWin32------1>生成启动时间为2015/12/3018:06:41。1>_PrepareForClean:1>正在删除文件“DebugTTs.lastbuildstate”。1>InitializeBuildStatus:1>正在对“DebugTTs.unsuccessfulbuild”执行Touch任务。1>GenerateTargetFrameworkMonikerAttribute:1>正在跳过目标“GenerateTargetFrameworkMonikerAttribute”,因为所有输出文件相对于输入文件而言都是最新的。1>ClCompile:1>stdafx.cpp1>TTs.cpp1>TTs.cpp(9):errorC2872:“CL”:不明确的符号1>可能是“CL”1>或“f:codebaseproject_2015_12clclbindebugcl.dll:CL::CL”1>TTs.cpp(9):errorC2872:“CL”:不明确的符号1>可能是“CL”1>或“f:codebaseproject_2015_12clclbindebugcl.dll:CL::CL”1>TTs.cpp(9):errorC2882:“CL”:在表达式中非法使用命名空间标识符1>TTs.cpp(9):errorC2065:“cl”:未声明的标识符1>TTs.cpp(9):errorC2872:“CL”:不明确的符号1>可能是“CL”1>或“f:codebaseproject_2015_12clclbindebugcl.dll:CL::CL”1>TTs.cpp(9):errorC2061:语法错误:标识符“CL”1>TTs.cpp(10):errorC2065:“cl”:未声明的标识符1>TTs.cpp(10):errorC2227:“->Message”的左边必须指向类/结构/联合/泛型类型1>类型是“'unknown-type'”1>1>生成失败。1>1>已用时间00:00:00.57==========全部重新生成:成功0个,失败1个,跳过0个==========

下面是C++的文件://TTs.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#using"F:\CodeBase\Project_2015_12\CL\CL\bin\Debug\CL.dll"usingnamespaceCL;int_tmain(intargc,_TCHAR*argv[]){CL^cl=gcnewCL();cl->Message();return0;}

下面是C#生成的dll文件的代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceCL{publicclassCL{publicvoidMessage(){Console.WriteLine("Helloworld");}}}

解决方案

解决方案二:
把usingnamespace去掉。使用全限制命名空间。因为使用using之后,此时namespace和class的名字冲突了。
解决方案三:
引用1楼Saleayas的回复:

把usingnamespace去掉。使用全限制命名空间。因为使用using之后,此时namespace和class的名字冲突了。

我回去试一试,谢谢啊
解决方案四:
CL一个是名词空间,一个是类,所以冲突了。
解决方案五:
请问这个除了改C#的类名外,还有其他方法没

时间: 2024-09-22 05:10:58

C++调用C#写的dll文件出错的相关文章

Ruby能调用vc写的dll文件吗?

问题描述 在sketchup中用ruby进行二次开发 解决方案 可以的,ruby中可以通过win32api直接调用dll文件的解决方案二:能调用,但需要dll的def文件!

java调用swt.jar包dll文件的加载问题?

问题描述 java调用swt.jar包dll文件的加载问题? 调用swt.jar时,报错 Exception in thread "AWT-EventQueue-2" java.lang.UnsatisfiedLinkError: no swt-win32-3347 or swt-win32 in swt.library.path, java.library.path or the jar file at org.eclipse.swt.internal.Library.loadLib

怎样在C#中调用Delphi6写的DLL

我在编写一个系统时遇到了一个问题,无法在C#中调用Delphi6写的DLL,只因为DLL的参数是string类型的.然后在网上找相关的资料,还是没有结果.经过我的再三琢磨,现在已经解决,特写此文章与大家分享我的喜愉!Dellphi DLL文件:///////////////////////////////////////////////////////////////////library mydll; uses SysUtils, Classes; {$R *.res}function Out

php-PHP调用C#写的dll组件,提示Failed to create COM object

问题描述 PHP调用C#写的dll组件,提示Failed to create COM object PHP调用C#写的dll组件,已注册已加载,但是在PHP上仍然是提示Failed to create COM object `CodeData.GetData' 求解啊,谢谢了. C#dll生成,设置修改了以下步骤: 1.在生成(Build)属性里选中"为 COM interop 注册" 2.在签名(signing)属性选中"为程序集签名": 3.新建一个签名,起个名

封装dll-QT调用C#写的DLL问题,请大家指教一下

问题描述 QT调用C#写的DLL问题,请大家指教一下 我这里有个DLL文件,是用C#写的,托管式的,在QT 中应该怎么调用它?在网上找了很久还是不是很清楚 解决方案 C#写的dll可以包装成activex com dll,然后可以通过别的语言调用.还有一个更简单的办法,就是C#这里做成web service,通过进程外网络调用的方式用qt调用.

Win7系统开机提示dll文件出错该怎么办

  电脑开机提示.dll文件出错,找不到指定模块,导致某些软件或游戏无法正常启动,出现这种现象很有可能是相关dll文件丢失或损坏所致,导致无法找到原始文件,下面来看看win7旗舰版系统开机弹出dll文件出错的解决方法吧. 解决方法/步骤: 1.在win7 64位开始菜单上面,直接单击运行窗口,运行窗口打开之后会在里面输入regedit命令,再点击回车键,这时候系统即会弹出注册表编辑器; 2.在win7纯净版注册表下面逐一展开下面的选项: HKEY_LOCAL_MACHINE SOFTWARE M

jnative-Jnative调用图像识别的dll,出错

问题描述 Jnative调用图像识别的dll,出错 jnative调用dll,dll中有三个函数,第一个是初始化,第二个是执行图像识别并获得其中的文字,这个函数中有个参数是ref类型的,获得内存空间,把识别的字符存在其中,但是函数执行后,这个参数为空,并且函数返回为错误 解决方案 http://ask.csdn.net/questions/155208 解决方案二: java 通过jnative调用dll

关于asp.net调用pb写的dll问题

问题描述 关于asp.net调用pb写的dll问题 现在asp.net调用pb写的dll我将dll放到bin目录然后添加引用,初始化的时候查看有哪些接口的时候报错出现死循环这里出现函数求值超时,谁遇到过这种情况求大神们指导. 解决方案 Asp.NET调用C++写的dllAsp.NET调用C++写的dllasp.net调用C++的dll 解决方案二: com对象本身是否有问题,先用activex control test container测试. 解决方案三: 如果winform可以调用的话,估计

c#-关于C#调用matlab生成的.dll文件时的问题

问题描述 关于C#调用matlab生成的.dll文件时的问题 本人用matlab做了一个海浪波长计算程序,想在C#中调用该程序,自己始终无法调用. 也找了网上一些资料,按他们所说的做,结果发现引用后的.dll文件无法应用(已在注册表添加过注册),希望有经验的前辈帮忙解答一下,谢谢. 解决方案 http://www.jb51.net/article/41034.htm 解决方案二: 我使用的是:VS 2008, matlab R2009a: ? 首先遇到的第一个问题是:**** 类型初始值设定项引