生成链接库
- 创建一个library项目
- 在项目中写好自己的代码
- cmakelist
cmake_minimum_required(VERSION 3.21)
project(SharedTest)
set(CMAKE_CXX_STANDARD 17)
add_library(SharedTest SHARED library.cpp)
- CTRL+F9生成链接库
debug或者release目录下会有一个dll文件,取决于你选择的模式
链接库的使用
创建一个普通的可执行项目 原始的cmakelist 应该是类似于下面这种
cmake_minimum_required(VERSION 3.21)
project(SocketTest)
set(CMAKE_CXX_STANDARD 17)
add_executable(SocketTestClient client.cpp)
连接dll 文件
cmake_minimum_required(VERSION 3.21)
project(SocketTest)
set(CMAKE_CXX_STANDARD 17)
#头文件目录
include_directories(D:/MyProject/C++/SharedTest/src/Heaser)
#dll库文件目录
link_directories(D:/MyProject/C++/SharedTest/cmake-build-release)
#main函数所在文件和当前项目所需的自己编写的源文件
add_executable(SocketTestClient client.cpp)
#连接链接库
target_link_libraries(SocketTestClient D:/MyProject/C++/SharedTest/cmake-build-release/libSharedTest.dll)
通俗的来讲,dll 文件只是函数的实现体,所有在使用的时候,任然需要引入定义文件.h 头文件,所以需要加入头文件目录,让程序找得到定义文件,或者自己写相关函数的声名也可以 在执行之前,还需要设置环境变量,因为动态链接库可能不是在当前项目下的 PATH就是dll 文件所在目录 然后,项目就可以运行了
|