日期:2014-05-17  浏览次数:20906 次

C# dll文件控制台可调用,winform不可调用
我用c/c++编写了一个DLL文件,文件中函数代码如下
#ifndef CharacterRecognition_H_
#define CharacterRecognition_H_

#ifndef DLLLIB
#define DLLLIB extern "C" _declspec(dllexport)
#endif

DLLLIB void DataTransform(char* pImgData,int iHeight,int iWeight);
#endif

这是头文件代码,具体函数实现代码在.cpp文件中。
实现代码中包含一些opencv的函数。然后再在winform中调用dll的函数,但总是出现如此报错:
在winform引用DLL函数代码如下:

[DllImport("CharacterRecognition.dll",EntryPoint="DataTransform",CallingConvention = CallingConvention.Cdecl)]
        public static extern void DataTransform(byte[] pImgData, int iHeight, int iWeight);

之后建立了一个C#的控制台工程,用同样的方法使用那个DLL,结果顺利了运行,请问这是什么情况,求大神解释。
C# WinForm 控制台

------解决方案--------------------
dll路径问题。