如题所示
CFrameMgr是在一个dll工程中导出的,暂且这个工程叫“A.dll”
XApp是另外一个dll工程,它继承了CFrameMgr,暂且这个工程叫“B.dll”单独编译这个2个工程,或者依赖编译都没有任何编译警告
可是若我现在新建一个exe工程,而这个exe工程使用到A.dll和B.dll工程导出的类的话,就会发生如题所示的编译警告1.2个dll工程都是直接使用__declspec(dllexport)来导出类,没有使用.def文件来导出。
2.所有使用到的类,都使用 1 的方法导出了。
3.编译等级是 Level 4想了很久,也查询了google都没有找到比较好的解决办法,有人能帮忙支个招吗?
CFrameMgr是在一个dll工程中导出的,暂且这个工程叫“A.dll”
XApp是另外一个dll工程,它继承了CFrameMgr,暂且这个工程叫“B.dll”单独编译这个2个工程,或者依赖编译都没有任何编译警告
可是若我现在新建一个exe工程,而这个exe工程使用到A.dll和B.dll工程导出的类的话,就会发生如题所示的编译警告1.2个dll工程都是直接使用__declspec(dllexport)来导出类,没有使用.def文件来导出。
2.所有使用到的类,都使用 1 的方法导出了。
3.编译等级是 Level 4想了很久,也查询了google都没有找到比较好的解决办法,有人能帮忙支个招吗?
解决方案 »
- CRichEditCtrl设置行号超过255的怎么不能正确显示?
- 串口通信问题
- CString的AnsiToOem和OemToAnsi函数
- 【辞职了!】呵呵,深圳有需要帮忙的朋友吗??顺便散分……
- 如何在ChartFX 2.0中把X轴的步进改的大一些
- 键盘钩子的问题
- 怎么求一个点到线段的距离???求一个效率较高的算法
- bcgcontrolbar6.21急问
- VC的workspace中看不到类,什么缘故呢?
- ★★★请大家讲讲CAsyncSocket类虚拟函数ConnectHelper的含义和用法。
- NDIS协议驱动的大问题!!!(调用DeviceIoControl出错) 帮帮忙啊我崩溃啦
- VC中关于char和TCHAR之间转换的问题
int sum(int a, int b)
{
return a+b;
}
(3)在生成的MFCDll.def文件后面增加如下: 以下是引用片段:
sum @1 ;表示第一个函数是sum
(4)编译后会产生两个文件MFCDll.lib,MFCDll.dll 2.使用方法 (1)隐式调用法: 将MFCDll.lib拷贝到需要应用该DLL的工程的目录下,将MyDll.dll拷贝到产生的应用程序的目录下,并在需要应用该DLL中的函数的CPP文件中添加如下几行: //注意这里没有在MFCDll.h中声明函数,所以不能直接包含MFCDll.h来声明函数。 以下是引用片段:
#pragma comment(lib,"MFCDll");
int sum(int a, int b);
//当然如果你的DLL中有很多函数,那可以另外写个MFCDll.h,包含所有的函数声明,然后直接将头文件包含进去 (2)显示调用法:与Win32的调用方法一样,不需要#pragma comment(lib,"MFCDll");,但是需要在Project->Setting->Link->Object/library modules的框中增加MFCDll.lib这个库。
顺便问一句:出现这个编译警告的原因是什么?
谢谢~
2.出现的问题是,exe不是不能用dll,exe使用dll完全没问题,程序运行也没问题,
就是编译的时候,出这么一大堆的编译警告。