麻辣堂|资源主站|开发论坛|在线手册
首页注册帮助 
Delphi for php 交流论坛
  您现在的位置:Unix5开源世纪 > U5编程社群 > 详细内容
待解决
MFC中使用的DLL
悬赏分:20 - 2008-04-20 00:58:00

MFC中使用的DLL

.h文件输入extern "C" __declspec(dllexport) int fun(int x1,int x2,int x3); ,保存。



。c文件输入输入



  #include "stdafx.h"

  #include "dll.h"

  extern "C" __declspec(dllexport) int fun(int x1,int x2,int x3)

   {

    return x1+x2+x3;

   }

然后使用VC创建一个DLL工程,首先使用mfc APPWARZARD (DLL) 创建生成的DLL一切正常

然后另外使用win32 dynamic-link library 重新创建生成一个DLL在编译时正确,但是运行错误



我吧这个DLL用在MFC工程钟,是不是MFC工程只能使用mfc APPWARZARD (DLL) 创建

而win32-api 工程则使用win32 dynamic-link library 创建??

能不能创建一个通用的DLL,使两种工程中能兼容呢?
提问者:vfdff 2008-04-20 00:58:00
答复
谢谢楼上的兄弟提醒

我现在  编译时候 没有错误,那这些设置应该都是正确了的  
我再试试  
可能真的就是MFC APPWARZARD (DLL) 工程和 Win32 Dynamic-Link Library工程下  这个库文件 "afxwin.h" 有冲突造成的
回答者:vfdff - 2008-04-22 00:15:00

可该是这样的

你是隐式连接.不是动态加载.要找静态的引入库放在编译的选项里.这样它编译的时候才能找到!!!!就不会出错了
回答者:wsdsghqq - 2008-04-20 21:02:00
建立的dll要放windows下..lib要放在你要用的工程里面..以前做过,就这样用的...
回答者:sunkaidong - 2008-04-20 16:02:00

回复 2# 的帖子

但是 我试了,使用Win32 Dynamic-Link Library工程创建DLL,在编译时候 没有错误
但是运行的时候出现错误

我在工程中使用了多个DLL,原先的 DLL是使用 MFC APPWARZARD (DLL) 工程创建的,这个运行时的错误 会不会是因为 两种的 DLL 不兼容
因为每个文件中我使用了#include "afxwin.h" 显然 MFC APPWARZARD (DLL) 工程和 Win32 Dynamic-Link Library工程 生成的 afxwin.h 文件存在差异
回答者:vfdff - 2008-04-20 12:45:00
你用
Win32 Dynamic-Link Library
工程创建DLL或许更好
回答者:flyue - 2008-04-20 10:53:00
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
91 + 6 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM