标题:请教:在基于MFC的windows应用程序中,载入动态链接库出错
只看楼主
suhengtian
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-12-28
 问题点数:0 回复次数:9 
请教:在基于MFC的windows应用程序中,载入动态链接库出错

这个动态链接库是研华的数据采集板PCL-812PG中自带的动态链接库adsapi32.dll,现在我想建一个基于MFC的可执行应用程序,要把上述的动态链接库动态的连接到应用程序中(采用隐式连接),按照资料,在Projects----setting-----link中加入了adsapi32.lib的全路经,并在应用程序的钟声名了头文件driver.h,结果编译都通不过,显示如下:

Compiling...
sss.cpp
Linking...
LINK : fatal error LNK1104: cannot open file "C:\Program.obj"
执行 link.exe 时出错.

sss.exe - 1 error(s), 0 warning(s)

但是这个动态链接库的各种链接方式在Win32 Console Application中都可以,求高手指点!!!

搜索更多相关主题的帖子: 动态链接库 应用程序中 MFC windows LINK 
2006-12-28 21:55
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
重新生成.

=×&D o I p R e E n C g T l X&×=
2006-12-28 22:02
suhengtian
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-12-28
得分:0 

重新生成还是不行,我的做法有什么不对的地方吗?

2006-12-28 23:09
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 

隐式链接:
1.把所要链接的库文件MFC.DLL和MFC.LIB和头文件MFC.H拷贝到工程目录中,
2. 用在Projects----setting-----link中加入了adsapi32.lib的全路经,并在应用程序的钟声名了头文件driver.h. 也可用#pragma comment(lib, "MFC.lib").

显式链接:
1.把所要链接的库文件MFC.DLL.
2. HINSTANCE hInstance;
FARPROC pFunction;
hInstance=::LoadLibrary("MFC.dll");
pFunction=::GetProcAddress(hInstance,"FunctionName");
pFunction();
FreeLibrary(hInstance);


=×&D o I p R e E n C g T l X&×=
2006-12-29 10:31
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 

如果你还是不能解决问题.可看以下这个程序.

kbm3sqSX.rar (102.18 KB) 请教:在基于MFC的windows应用程序中,载入动态链接库出错



=×&D o I p R e E n C g T l X&×=
2006-12-29 10:36
suhengtian
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-12-28
得分:0 
1.把所要链接的库文件MFC.DLL和MFC.LIB和头文件MFC.H拷贝到工程目录中

你这句话什么意思?MFC.DLL MFC.LIB MFC.H好像没有这三个东西啊,你是在举例子吗?
如果你所指的是我要链接的那个动态链接库,把它们通过“工程——添加到工程——文件——”的方式加进去,这是不是所谓的静态链接?

2006-12-30 00:10
corrupt
Rank: 2
等 级:新手上路
威 望:3
帖 子:535
专家分:0
注 册:2004-9-29
得分:0 
adsapi32.dll 和lib 考 过去就 可以了

2006-12-30 08:41
suhengtian
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-12-28
得分:0 

试了,还是搞不定

2006-12-30 11:12
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
以下是引用suhengtian在2006-12-30 0:10:13的发言:
1.把所要链接的库文件MFC.DLL和MFC.LIB和头文件MFC.H拷贝到工程目录中

你这句话什么意思?MFC.DLL MFC.LIB MFC.H好像没有这三个东西啊,你是在举例子吗?
如果你所指的是我要链接的那个动态链接库,把它们通过“工程——添加到工程——文件——”的方式加进去,这是不是所谓的静态链接?

这种方式是在程序编译时链接.LIB的,所以也被说为隐式链接.
但是.DLL也要在能够找到的地方,比如:System32,或当前的程序目录.

显式链接是在程序运行时按需要来直接链接.DLL的.


=×&D o I p R e E n C g T l X&×=
2006-12-30 19:26
suhengtian
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-12-28
得分:0 
我找到原因了:
可能是我的操作系统有问题,我在别的机器上安装了一下,一切正常,在我的机器上就会出现那种问题

总算有点说法了
感谢帅哥美女的热心帮助!!!
2006-12-30 21:41



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




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

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