我注册了a.dll,在我的工程中 b.h 包含了#pragma comment(lib, "a.lib"),也包含了#include"a.h"进去,a.h中有个初始化函数:
extern "C" BOOL
Initialize(UINT h);
我直接在b类的OnInitDialog()中直接写上Initialize(1);想试着初始化这个lib文件,结果提示"应用程序正常初始化失败",我以前从没使用过lib文件,不知道怎么处理,是不是也要先定义一个a.h类的对象,再调用Initialize(UINT h),求高手指点,越详细越好,在线等
extern "C" BOOL
Initialize(UINT h);
我直接在b类的OnInitDialog()中直接写上Initialize(1);想试着初始化这个lib文件,结果提示"应用程序正常初始化失败",我以前从没使用过lib文件,不知道怎么处理,是不是也要先定义一个a.h类的对象,再调用Initialize(UINT h),求高手指点,越详细越好,在线等
解决方案 »
- 很奇怪(debug下的问题)
- StretchDIBits画图的显示问题,请高手指教~
- ::AfxBeginThread(RUNTIME_CLASS(CWinThread));
- 100分救助CListCtrl背景图问题????
- 2的1000次方怎么求啊??
- 加急求助一个基本问题!!!!
- 如何获取COMBOBOX列表里的字符串????
- Help Me 在clistctrl控件中怎样用代码实现选中其中的某一行(rowselect)
- ??????
- VS2008 SP1中的MFC界面, 如何把标签名放上面?
- 请问怎么在vc2008里调用vfp9r.dll中的DllWinMain函数
- SelectObject返回空的问题
=========
应该不用吧,看Initialize的定义就是一个普通的导出函数,这样用应该没有问题,但是,它是不是这样调用的呢:Initialize(1)
我只能看到extern "C" BOOL
Initialize(UINT h);这样一个函数原型,我怎么让它初始化
如:
#ifndef AAA
#define BBB __delspec(importdll)
#else
#define BBB __delspec(exportdll)
#endif
要把AAA的宏定义要放在生成动态链接库的工程中,这样就会编译#define BBB __delspec(exportdll)。用它的时候不用加宏定义,就会编译第一句。
=============
不是的,如果是声明的问题,那么链接就过不去,但是楼主报的是运行错。
Initialize(UINT h);有什么代码可以直接取代它吗?我直接在b类的的OnInitDialog()中直接写上Initialize(1);,直接在b类上写a.h中的其他函数,比如a.h中有个BOOL IsSupport();函数,我在b类可以直接写int a = IsSupport();这样来调用它吧?求高手指点