VS2013 中生成lib和dll库文件
2016-08-17 18:06
211 查看
转载出处:http://blog.csdn.net/renyhui/article/details/21282073
①新建项目-->win32-->win32项目-->输入项目名为DllTest-->选择Dll-->选择空项目-->完成
②添加头文件和源文件并命名为DllTest.h和DllTest.cpp(方法:分别在头文件和源文件 :右键---添加---新建项)
③头文件和源文件的定义(这里我们只实现加法运算)
// DllTest.h
[cpp] view
plain copy
#ifdef DLL_API
#else
#define DLL_API __declspec(dllexport)
#endif
// 声明要导出的函数
DLL_API int add(int a, int b);
// DllTest.vpp
[cpp] view
plain copy
#define DLL_API __declspec(dllexport)
#include "DllTest.h"
int add(int a, int b)
{
return a + b;
}
④我们编译运行一下,因为不是完整的文件,这里会报错,不过没关系,这是我们找到文件存放的位置,会发现DeBug文件中会包含
这些生成的文件,这里我们只关心.dll和.lib文件。在Debug同级目录下,在DllTest文件中,会找到DllTest.h文件
.dll文件即使动态链接库,.lib文件是程序开发用的导入库,.h文件包含导出函数的声明
⑤我们再新建一个项目,命名为TestForDll,选择win32 控制台应用程序
⑥将我们④中的三个文件存放到TestForDll目录下的TestForDll文件中
如果我们直接存放在TestForDll文件中会出现 error C1083: 无法打开包括文件: “DllTest.h”
如果我们这时只把DllTest.h放进去的话会出现错误:error LNK1104: 无法打开文件“DllTest.lib”
这时再把.lib文件放入TestForDll目录下的TestForDll文件中,就可以正常的编译运行
使用#pragma comment(lib,"DllTest")命令链接到DllTest.lib库。当然我们也可以使用项目---属性---配置属性----链接器---输入-----附加依赖项中添加DllTest.lib
这里给出main函数的实现
[cpp] view
plain copy
#include <stdio.h>
#include "DllTest.h"
#pragma comment(lib,"DllTest.lib")
int main()
{
int a = 3;
int b = 2;
printf("a+b=%d\n", add(a,b));
return 0;
}
备注:如果我们把没把.dll文件放在debug目录下,当关闭程序,重新启动的时候,会出现找不到.dll文件的错误
因此我们最好要把.dll文件放在debug目录下
①新建项目-->win32-->win32项目-->输入项目名为DllTest-->选择Dll-->选择空项目-->完成
②添加头文件和源文件并命名为DllTest.h和DllTest.cpp(方法:分别在头文件和源文件 :右键---添加---新建项)
③头文件和源文件的定义(这里我们只实现加法运算)
// DllTest.h
[cpp] view
plain copy
#ifdef DLL_API
#else
#define DLL_API __declspec(dllexport)
#endif
// 声明要导出的函数
DLL_API int add(int a, int b);
// DllTest.vpp
[cpp] view
plain copy
#define DLL_API __declspec(dllexport)
#include "DllTest.h"
int add(int a, int b)
{
return a + b;
}
④我们编译运行一下,因为不是完整的文件,这里会报错,不过没关系,这是我们找到文件存放的位置,会发现DeBug文件中会包含
这些生成的文件,这里我们只关心.dll和.lib文件。在Debug同级目录下,在DllTest文件中,会找到DllTest.h文件
.dll文件即使动态链接库,.lib文件是程序开发用的导入库,.h文件包含导出函数的声明
⑤我们再新建一个项目,命名为TestForDll,选择win32 控制台应用程序
⑥将我们④中的三个文件存放到TestForDll目录下的TestForDll文件中
如果我们直接存放在TestForDll文件中会出现 error C1083: 无法打开包括文件: “DllTest.h”
如果我们这时只把DllTest.h放进去的话会出现错误:error LNK1104: 无法打开文件“DllTest.lib”
这时再把.lib文件放入TestForDll目录下的TestForDll文件中,就可以正常的编译运行
使用#pragma comment(lib,"DllTest")命令链接到DllTest.lib库。当然我们也可以使用项目---属性---配置属性----链接器---输入-----附加依赖项中添加DllTest.lib
这里给出main函数的实现
[cpp] view
plain copy
#include <stdio.h>
#include "DllTest.h"
#pragma comment(lib,"DllTest.lib")
int main()
{
int a = 3;
int b = 2;
printf("a+b=%d\n", add(a,b));
return 0;
}
备注:如果我们把没把.dll文件放在debug目录下,当关闭程序,重新启动的时候,会出现找不到.dll文件的错误
因此我们最好要把.dll文件放在debug目录下
相关文章推荐
- vs2013生成lib和dll库文件
- VS2013 中生成lib和dll库文件
- VS2013下静态链接库(lib)和动态链接库(dll)的生成与使用
- VS2013生成DLL文件
- VS2013编译32位与36位的sqlite,再CMAKE生成osgearth加载mbtiles文件需要的osgdb_osgearth_mbtiles.dll
- VS2013生成DLL文件
- VS2013生成DLL文件
- VS2013 生成dll事,没有lib生成
- windows 10(64位)下实现vs20120C++调用matlab r2014a编写的m文件生成的.dll,.lib,.h文件
- 【Visual Studio】使用 pexports 根据 VS 的 .dll 动态链接库生成 .lib 库文件
- VS2008 dll 项目不能生成*.lib文件
- 修改VS2010生成的lib和dll文件路径
- matlab生成VS可调用的dll文件
- DLL与LIB库文件的生成和使用
- VS2008中生成lib和dll库文件
- vs2013编译google protobuf生成的消息文件错误。
- VS2005下生成dll和lib
- asp.net 利用VS将CS类文件生成DLL文件
- VS2013 生成XP下的exe文件
- ASP.NET生成压缩文件(rar打包)ICSharpCode.SharpZipLib.dll