标题:MFC中使用的DLL
只看楼主
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
 问题点数:0 回复次数:5 
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,使两种工程中能兼容呢?
搜索更多相关主题的帖子: MFC DLL 
2008-04-20 00:58
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
你用
Win32 Dynamic-Link Library
工程创建DLL或许更好

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-04-20 10:53
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
回复 2# 的帖子
但是 我试了,使用Win32 Dynamic-Link Library工程创建DLL,在编译时候 没有错误
但是运行的时候出现错误

我在工程中使用了多个DLL,原先的 DLL是使用 MFC APPWARZARD (DLL) 工程创建的,这个运行时的错误 会不会是因为 两种的 DLL 不兼容
因为每个文件中我使用了#include "afxwin.h" 显然 MFC APPWARZARD (DLL) 工程和 Win32 Dynamic-Link Library工程 生成的 afxwin.h 文件存在差异
2008-04-20 12:45
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
建立的dll要放windows下..lib要放在你要用的工程里面..以前做过,就这样用的...

学习需要安静。。海盗要重新来过。。
2008-04-20 16:02
wsdsghqq
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-4-20
得分:0 
可该是这样的
你是隐式连接.不是动态加载.要找静态的引入库放在编译的选项里.这样它编译的时候才能找到!!!!就不会出错了
2008-04-20 21:02
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
谢谢楼上的兄弟提醒

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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-209996-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.104950 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved