VC++6.0制作dll问题
发布网友
发布时间:2022-05-02 03:17
我来回答
共5个回答
热心网友
时间:2022-06-27 13:43
可以按我下面的方法来。。
新建项目 “Win32 Dynamic-Link Library” 项目名称“Dll_1”,确定后选择“一个空的DLL工程”点击“完成”。
"MyDll.h" 文件里的内容
extern "C" _declspec(dllexport) int Max(int a, int b);
extern "C" _declspec(dllexport) int Min(int a, int b);
"MyDll.cpp"里的内容
#include"MyDll.h"
#include <stdio.h>
int Max(int a, int b)
{
if(a>=b) return a;
else return b;
}
int Min(int a, int b)
{
printf("Min is called\n\n");
if (a >= b) return b;
else return a;
}
然后把生的 .lib文件拷贝到另一个工程(要调用的DLL项目)的目录下,把.dll文件拷贝到另一个工程(要调用的DLL项目)的debug目录下
另一个项目的调用代码如下:
#pragma comment(lib,"MyDll.lib")
extern "C"_declspec(dllimport) int Max(int a,int b);
extern "C"_declspec(dllimport) int Min(int a,int b);
#include <stdio.h>
int main()
{
int a;
a = Min(8,10);
printf("比较的结果为%d\n",a);
return 0;
}
以上的方法是静态调用,由于篇幅 动态调用我就不写了。。
如果对你有帮助多加点分啊..
热心网友
时间:2022-06-27 13:43
vc6我这里算是没有吧,我用2005帮你试了下,编译通过,没有任何问题。
你的编译器没做过什么特殊的环境设置吧?
热心网友
时间:2022-06-27 13:44
Rebuild All次看看,如果还不行project -- setting -- C/C++ -- category选中precompiled headers -- 选择 not using precompiled headers再Rebuild All
热心网友
时间:2022-06-27 13:44
按照你的做法没有问题 ,应该是你的工程配置出问题了,你可以按照相同的办法再创建一个看看,也可以按照如下图配置一下工程.
热心网友
时间:2022-06-27 13:45
缺少Dll_1.h?
添加一个试试?