很奇怪呀,例如,我在a.cpp中
#include "..//b.h"
调用b.dll中的函数
b.h是项目中的一个dll的头文件,用一种很常用的方法实现,大家都知道吧
#ifndef MYDLLAPI
#define MYDLLAPI extern "C" __declspec(dllimport)
#endifMYDLLAPI int c(...)
...在b.cpp中预定义MYDLLAPI为 __declspec(dllexport),实现所有的输出函数
b.dll编译通过呀,a.exe为什么不行呢,哪个编译选项有问题吗?
提示是“无法解析的外部符号”,针对那几个函数的
#include "..//b.h"
调用b.dll中的函数
b.h是项目中的一个dll的头文件,用一种很常用的方法实现,大家都知道吧
#ifndef MYDLLAPI
#define MYDLLAPI extern "C" __declspec(dllimport)
#endifMYDLLAPI int c(...)
...在b.cpp中预定义MYDLLAPI为 __declspec(dllexport),实现所有的输出函数
b.dll编译通过呀,a.exe为什么不行呢,哪个编译选项有问题吗?
提示是“无法解析的外部符号”,针对那几个函数的
解决方案 »
- 对于 UNICODE 的一点困惑
- 体绘制问题VC++与OpenGL共同完成!
- 关于RUNTIME_CLASS
- 如何实现非模式对话框的嵌套?
- 求免费VPN啊!!!!!!!!!!!!
- 这个现象好奇怪!
- 怎样才能为ActiveX控件生成许可证包?
- 用VC生成的组件,VB中可以正常使用,asp+VbScript出错
- 60分:为什么typedef CHAR *LPSTR, *PSTR不写成typedef CHAR *LPSTR, CHAR *PSTR
- VC++ modem串口编程问题(请各位高手指点一下)
- 复选框被选中,窗口过程会收到什么消息?
- 两个小问题!1.如何屏蔽最大化按钮 2.如何始程序运行就是最大化.
把编译好的dll目录下的b.lib考到a工程目录下在a工程里菜单项上project->setting->setting
link签里的有个l对象/库模块 里边添上b.lib
for debug和release里各做一遍
再试试可以给分吗?
LIBRARY "yourproject" ;指出DLL的名字
DESCRIPTION 'yourproject Windows Dynamic Link Library'
;描述DLL的用途(此句可选)
EXPORTS yourfunciton ;导出函数的名//--------------------------------
你在你的dll中导出相应的函数了吗?
你的错误是没法链接呀!
你一定没有导出函数
添加一个相应的.def文件,向上面那样将你的需要的函数到出来就行了
把dll头上本该是
#define MYDLLAPI extern "C" __declspec(export)
忘了打extern "C",导致函数名不对了,当然没法链接了
分数送上,谢谢您
不好意思,我以为前后是一个人呢,给完分才发现,要不再给您开个帖子?谢谢你
maoxianwang(大大㊣BETAⅡ //楼主,请把分给猪)
哈哈,别这么说,本想人均30的