vc动态链接库

来源:百度知道 编辑:UC知道 时间:2024/07/02 05:33:37
我在vc中建了一个单文档的exe文件,现在想使用一些某个dll文件中的函数,要怎么做呢,我是新手
不行么,工程文件夹里有dll lib .h文件,也添加到工程中了,stdafx头文件中也写了你说的代码,还是有连接错误
MainFrm.obj : error LNK2001: unresolved external symbol __imp__MV_SetDisplaySize
能给说的详细点吗,我是新手

把头文件(XXX.h)里这个函数的声明放在这个大括号里:
extern "C"{
}
试试,或许可以,或者把所有接口函数声明都放里面,把整个头文件所有内容用它括起来也行,呵呵。

是你动态库的头文件。

注意SetDisplaySize前面必须加_declspec(dllexport),可参考以下代码
这是Mathdll工程,生成Mathdll.dll
源文件如下
// Mathdll.cpp
class SimpleMath
{
public:
int _declspec(dllexport) sum100(int m, int n);
int _declspec(dllexport) sum200(int m, int n);
};

int SimpleMath::sum100(int m, int n)
{
return m + n + 100;
}

int SimpleMath::sum200(int m, int n)
{
return m + n + 200;
}
编译成dll文件后,把MathDll.lib和MathDll.dll放到要调用它的工程(假设为SimpleMath工程)目录下,就是和SimpleMath.dsp、SimpleMath.dsw同一目录下
以下是SimpleMath工程,控件台应用程序
//SimpleMath.cpp
#pragma comment(lib, "MathDll.lib")
#include <stdio.h>

class SimpleMath
{
public:
int sum100(int m, int n);
int sum200(int m, int n);
};

void main()
{
SimpleMath* sMat