各位高手,这个问题是这样的:我用以下代码产生一个动态连接库:
//BurnVcd.h中
#ifndef BURNVCD_H
#define BURNVCD_H
__declspec(dllexport) int BurnVCD(int num_files, CString files[],unsigned long speed);
#endif//BurnVcd.cpp中
#include "BurnVcd.h"
int BurnVCD(int num_files, CString files[],unsigned long speed){
实现部分...
}导出BurnVcd.h(dllexport部分改为dllimport)、BurnVcd.lib、BurnVcd.dll
把他们放入第二个工程中,代码为:
//All.h中
#include "BurnVcd.h"
#pragma comment(lib, "BurnVcd.lib")//UseBurnVcd.h中
#ifndef USEBURNVCD_H
#define USEBURNVCD_H
__declspec(dllexport) void UseBurnVcd();
#endif//UseBurnVcd.cpp中
#include "All.h"
#include "UseBurnVcd.h"
void UseBurnVcd(){
BurnVcd(...);//使用上一个DLL提供的那个函数
}
此时导出第二个工程的.h .lib和.dll最后我在第三个工程中测试第二个工程
//Application.cpp中
#include "UseBurnVcd.h"
#pragma comment(lib, "UseBurnVcd.lib")
...
某个函数中
UseBurnVcd()前两个工程的完成都没有问题,第三个工程在运行时出现错误:“无法定位的程序输入点BurnVcd于动态链接库UseBurnVcd.dll上”请问高手错误在哪里,如何修改。
//BurnVcd.h中
#ifndef BURNVCD_H
#define BURNVCD_H
__declspec(dllexport) int BurnVCD(int num_files, CString files[],unsigned long speed);
#endif//BurnVcd.cpp中
#include "BurnVcd.h"
int BurnVCD(int num_files, CString files[],unsigned long speed){
实现部分...
}导出BurnVcd.h(dllexport部分改为dllimport)、BurnVcd.lib、BurnVcd.dll
把他们放入第二个工程中,代码为:
//All.h中
#include "BurnVcd.h"
#pragma comment(lib, "BurnVcd.lib")//UseBurnVcd.h中
#ifndef USEBURNVCD_H
#define USEBURNVCD_H
__declspec(dllexport) void UseBurnVcd();
#endif//UseBurnVcd.cpp中
#include "All.h"
#include "UseBurnVcd.h"
void UseBurnVcd(){
BurnVcd(...);//使用上一个DLL提供的那个函数
}
此时导出第二个工程的.h .lib和.dll最后我在第三个工程中测试第二个工程
//Application.cpp中
#include "UseBurnVcd.h"
#pragma comment(lib, "UseBurnVcd.lib")
...
某个函数中
UseBurnVcd()前两个工程的完成都没有问题,第三个工程在运行时出现错误:“无法定位的程序输入点BurnVcd于动态链接库UseBurnVcd.dll上”请问高手错误在哪里,如何修改。
解决方案 »
- 请教LoadBitmap的问题(程序跑死)
- EVC(wince)如何开发不规则窗体(请成功过的朋友指教)?
- xmlhttprequest.send 时,有'+'时,获取到的字符串会变成空格,请问在vc中该怎么处理?
- vc中获得delphi程序中的状态栏句柄后,数据提取问题
- 问个傻问题!放点分。静态成员的继承关系是怎样的?
- 执行EXE文件时没有错误,但是当我在程序里设置断点运行时却出现了错误。请各位帮忙看看,谢谢!
- 如何用CRichEditCtrl对RTF进行多次write操作?(需要在文件尾添加,而不是清空)
- NTLM Authentication Scheme for HTTP的问题
- 在哪里下载msdn啊
- 控制台应用程序里不能显示 Unicode 汉字吗?(高手请赐教)
- 开发一些小游戏及小型工具软件的常见思路
- "父级类代码为只读"何解?
我在实现之前都包含了他们的声明文件,应该没有问题。galaxy_fxstar(阿星):
我以前好像做过dll嵌套的程序,应该没有问题
我把第二个动态链接库生成的.lib .dll和它导出的.h都放到了第三个工程的目录中去了,
当我把第二个工程UseBurnVcd()中的BurnVcd()调用去掉第三个工程的运行就正常了,看来
第二个工程生成的dll放的位置应该没有问题。
LoadLibrary()之后的hintance为NULL,估计是第一个工程生成的dll就有问题,我考虑您提到
的路径问题,就把.dll放到D:\下,LoadLibrary("d:\\xx.dll")之后的hintance还是为NULL。
原来第一个工程又用了一个动态链接库message.dll,所以形成了3层嵌套,改为显式
链接就Okay了,谢谢高手!