【编译DLL动态库】使用VS2013编译C语言动态链接库

时间:2022-02-02 15:51:41

前言

最近在使用Java开发过程中,需要使用JNI调用DLL动态链接库,但是动态库源码是使用C语言编写的,遂从网上查找资料,作已记录。

编译步骤

STEP - 1:新建项目

文件–新建–项目–Visual C++模块–Win32–Win32项目–输入项目名称
【编译DLL动态库】使用VS2013编译C语言动态链接库

应用程序选择DLL–完成

【编译DLL动态库】使用VS2013编译C语言动态链接库

STEP - 2:更改编译选项
项目–属性–配置属性–C/C++–预编译头–更改为创建(/Yc):

【编译DLL动态库】使用VS2013编译C语言动态链接库

项目–属性–配置属性–C/C++–高级–编译为更改为编译为C代码(/Tc):

【编译DLL动态库】使用VS2013编译C语言动态链接库

STEP - 3:更改源文件

xx.cpp重命名为xx.c

【编译DLL动态库】使用VS2013编译C语言动态链接库

stdafx.cpp文件移除–删除(永久删除)

【编译DLL动态库】使用VS2013编译C语言动态链接库

dllmain.c是入口函数,内容无需修改。仅修改文件后缀即可

STEP - 4:添加源文件

1)Win32DllProject.c通常放需要暴露的接口函数(即被外部调用的函数),这里添加自己写的一个头文件Win32DllProject.h
2)将需要做成dll的源程序代码文件拷贝到工程目录下,在VS2013中添加到工程里
3)给所有的.c文件加上头文件#include "stdafx.h"

STEP - 5:对外暴露接口修改
Win32DllProject.c文件里都是需要暴露的文件这样写,加上__declspec(dllexport)

STEP - 6:选择编译平台
项目–属性–配置管理器–活动解决方案平台–新建–新建解决方案平台

【编译DLL动态库】使用VS2013编译C语言动态链接库

STEP - 7:编译生成DLL文件