首先要理解以下概念:
*.obj:是c/c++对应的二进制代码格式,是未经重定位的;
*.lib:是若干个obj的集合,本质与obj相同;
*.dll:是可实际运行的二进制代码,重定位的代码;
*.h:是c/c++头文件,当#include时会把包含的文件的内容在c/c++源文件中展开。
(一)静态调用如下:
1)xxx.dll拷到工程目录(不是解决方案目录,是和Debug和Release平级的目录)下;
2)把xxx.lib拷到工程目录下;
3)把xxx.h拷到工程目录下;
4)依次项目->属性->配置属性->链接器->输入,在附加依赖项中输入xxx.lib;
5)在工程的xxx.c或者xxx.cpp文件中引入xxx.h 就OK了。
(二)动态调用如下:
1)xxx.dll拷到工程目录(不是解决方案目录,是和Debug和Release平级的目录)下;
2)在c/c++源文件中添加include <windows.h>
{
HINSTANCE myLib = LoadLibrary("xxx.dll");
if(myLib)
{
typedef int (*Fun)(int,int);//参数与返回值都为int类型
MYFUNC funcAlias = NULL; // 函数别名
funcAlias= (Fun)GetProcAddress(myLib,"funcName");//funcName是DLL中声明的函数名
if(funcAlias)
{
funcAlias(param1,param2);
}
FreeLibrary(myLib);
}
}
分享到:
相关推荐
现在如何在VC中调用MinGW生成的mylib_linux.dll呢?(注意:VC无法使用MinGW的a文件,也无法像MinGW那样直接调用dll) 我们可以使用def文件生成VC可用的lib,通过lib调用 如果你没有def文件,那就用前面说过的方法...
由于我们经常要调用一些第三方厂商或其他编译器编写的动态链接库,但是一般都不提供源文件或.lib文件,而作为VC隐式链接到DLL(implicitlylinktotheDLL)调用,这些却是必需的。本文将主要讨论在没有源文件及.lib...
VC6 调用 unrar.dll 实例 VC6 调用 unrar.dll 实例
包含动态链接库(.lib)和静态链接库(.dll)及其 debug 版本。 主要文件: 1. 头文件(include) 2. 动态链接库(opencv_videoio_ffmpeg455.dll / opencv_world455.dll / opencv_world455d.dll) 3. 静态连接库...
VC6调试卡死补丁dm.dll TLLOC.DLL
msvcr80d.dll msvcp80d.dll mfc80d.dll Microsoft.VC80.DebugCRT.manifest
delphi可以很方便的封装第三方库,导出dll,此方法可以很方便的生成供Qt或VC调用的Lib文件,免去动态加载的麻烦,喜欢的朋友可以试下。我就是这么用的。
VC安装排错SHSQL.DLL EESWT.DLL NMSQL.DLL.pdf
VC安装排错SHSQL.DLL EESWT.DLL NMSQL.DLL.pdf SHSQL.DLL文件
VC安装排错SHSQL.DLL EESWT.DLL NMSQL.DLL---EESWT。DLL
在执行MFC中,会出现缺少动态连接库的情况,此文件中包含常见的5个dll文件 mfc42d.dll mfco42d.dll MSVCP60D.dll msvcrtd.dll MSVCIRTD.DLL window7 放在C:/window/system32 中
2010-09-07 12:43 220,160 boost_python-vc90-mt-1_44.dll 2010-09-07 12:43 189,272 boost_python-vc90-mt-1_44.lib 2010-09-07 12:43 514,048 boost_python-vc90-mt-gyd-1_44.dll 2010-09-07 12:43 190,964 boost_...
VS2015版中只有msvcp140d.dll和msvcr140d.dll,但是OpenCV2.4.xx用的库版本最高为VC12,该库并没有升级VC14,我们需要用到VS2013的调试库文件,所以会造成msvcp120d.dll和msvcr120d.dll的缺失。下载msvcp120d.dll和...
终极解决方法:检查文件DM.dll版本,DM.dll在程序安装目录的“Common/MSDev98/Bin”-----------正确的版本是6.0.9782.0。 下载TLLOC.DLL版本:和 DM.DLL (程序解压后大小为28KB) 将下载的版本替换到程序安装目录...
(1) 把 glaux.dll、glut32.dll、glut.dll 拷贝到C:\WINDOWS\system32目录下,system32目录下应该已经有 opengl32.dll、glu32.dll了。 (2) 把 GL.H、GLAUX.h、glu.h、glut.h 拷贝到 C:\Program Files\Microsoft ...
Opengl开发库 .h .dll .lib文件 在VC中回载Opengl文件
VS2013运行VC6.0编写的程序时,报错找不到msvcrtd.dll;mfc42d.dll;msvcp60d.dll;mfco42d.dll;msvcp60.dll。将以上文档复制到C:\Windows\SysWOW64目录下即可。
(1)将gult32.dll,glut.dll复制到windows系统system32(如果是win 7 64位操作系统,则是C:\WINDOWS中的SysWOW64这个文件下) (2)将gult32.lib,glut.lib复制到vc的lib目录下 (3)将gult.h复制到vc的include\GL下
当你运行VC6.0的DEBUG程序时,突然弹出一个丢失MFC42D.DLL。 一般情况下是你的系统目录下确实以下三个文件。 MFC42D.DLL MFCO42D.DLL MSVCRTD.DLL 本压缩包包含完整的3个DLL文件,均从VC6.0下复制的,没有任何改动。...