可能是呢的类定义没有加上
__declspec( dllimport )
__declspec( dllimport )
解决方案 »
- 编程格式化u盘,都有什么好办法?
- MFC里面Table控件AddPage页面上面有个CListBox,在程序运行中怎么插入值?直接调用总出异常。
- 如何输出的INI文件Section之间带一个空行呢?
- 不用控件,纯API画了一个WS_GROUPBOX风格的窗口之后。。。
- 怎样在SDI切分窗口中动态生成多窗口
- 如何使CEdit文本框不可输入?
- CString.Format中如何显示CString变量
- 丢失数据,伤心之余,大散分!!!版主大人别删啊!!!!!!
- 关于全局钩子的几个问题.请高手指点!
- 《深入浅出 MFC》里的程序不能运行?
- 如何根据project文件判断project的类型?
- 叫root的朋友帮帮忙吧!
#ifdef MYSERIALDLL_EXPORTS
#define MYSERIALDLL_API __declspec(dllexport)
#else
#define MYSERIALDLL_API __declspec(dllimport)
#endifclass MYSERIALDLL_API CMySerialDll
CMySerialDll mySerialDll;
只有这一句话,如果去掉的话,就没有错误!但是也没有调用DLL的export的类啊!
:-((
唯一的可能就是你没有正确 export 类或函数 。如你所说,在你编译DLL,在你dll工程里 里面是否有定义宏 MYSERIALDLL_EXPORTS ?你可以用VC的工具Depences 看看你的dll是否有export出来的类和函数。仔细检查一下吧!
我一直在想是否需要一个初始化函数来生成一个对象实例。
在我的代码中找不到这种函数,我也是看别人的代码,没有找到可能的函数。
#ifdef MYSERIALDLL_EXPORTS
#define MYSERIALDLL_API __declspec(dllexport)
#else
#define MYSERIALDLL_API __declspec(dllimport)
#endif但在dll的cpp源文件中如果加上
#define MYSERIALDLL_EXPORTS
就总出现宏重复定义的warning,我看的相关文章讲在export类的定义文件中应该加上这个宏,以使用__declspec(dllexport)。不明白。
Project-》setting-》C/C++ -->Preprocessor Define
__declspec(dllexport) unsigned long __stdcall Function1(...);
__declspec(dllexport) char * __stdcall Function2(...);2。你的目录下少了一个.DEF文件吧?
假设你的Project名为Project,DLL名为dll,则:
你在FileView窗口中,Resource Files下新建一个“Project.def“文件,其内容为:
LIBRARY dll
EXPORTS
Function1 @1
Function2 @2