DLL 项目
1、新建一个项目,按照下面这样选择:
2、发现已经为我们写好了一个 hello 函数
3、直接按 CTRL + F9
,会在 cmake-build-debug
文件夹出现一个dll
文件:
4、至此,这个dll项目结束,这个dll文件留下备用。
测试项目
1、创建一个正常的可运行项目
2、新建一个 lib 文件夹,然后把刚才的dll文件拷贝过去。
3、修改CMakeLists.txt
,把这个dll文件加入到新项目
这里要特别注意,一些命令的顺序也不能错。
原来的为:
cmake_minimum_required(VERSION 3.17)
project(testMyLib C)
set(CMAKE_C_STANDARD 99)
add_executable(testMyLib main.c)
修改过的为:
cmake_minimum_required(VERSION 3.17)
project(testMyLib C)
set(CMAKE_C_STANDARD 99)
#设置头文件路径
set(INC_DIR ./include)
#设置链接库路径
set(LINK_DIR ./lib)
#引入头文件
include_directories(${INC_DIR})
#引入库文件
link_directories(${LINK_DIR})
add_executable(testMyLib main.c)
#将第三方库连接在一起
target_link_libraries(testMyLib libepilepsy.dll)
主要的修改步骤就是:
- 在add_executable这一行的上面,增加:
#设置头文件路径
set(INC_DIR ./include)
#设置链接库路径
set(LINK_DIR ./lib)
#引入头文件
include_directories(${INC_DIR})
#引入库文件
link_directories(${LINK_DIR})
- 在add_executable这一行的下面,增加:
#将第三方库连接在一起
target_link_libraries(testMyLib libepilepsy.dll)
4、设置环境变量。
由于生成的可执行文件和dll文件不在一个文件夹下面,因此直接运行会报错(Process finished with exit code -1073741515 ),因此需要设置一下环境变量,真正打包的时候可以放一块。
点击编辑配置:
点击配置环境变量:
增加一个PATH,内容为DLL文件所在文件夹的绝对路径
5、写测试代码。
main.c 改成下面的即可:
#include <stdio.h>
void hello();
int main() {
hello();
return 0;
}
主要就是需要自己写一个 void hello();
的函数声明。
发现结果运行完毕,显示了正常的结果: