文章目录
- 1. 构建动态静态库
- 2. 调用动态静态库
- 3. 源码
1. 构建动态静态库
- 目录展示
- cmakelists.txt
cmake_minimum_required (VERSION 2.6)
project(hello)
//生成动态库(SHARED) 静态库(static)
add_library(hello SHARED ${PROJECT_SOURCE_DIR}/libhello/hello.cpp)
add_library(hello_static STATIC ${PROJECT_SOURCE_DIR}/libhello/hello.cpp)
SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME "hello")
- hello.cpp
void hello()
{
printf("hello world!\n");
}
- hello.h
void hello();
- cmake
- vs2017生成解决方案
- 结果
2. 调用动态静态库
- 目录文件
- 拷贝动态静态库到指定文件lib,拷贝头文件到根目录
- CmakeLists.txt
cmake_minimum_required (VERSION 2.6)
project(usehellolib)
link_directories(
D:/2022/3/medicalSeg/HelloDll/use_dll/lib
)
//生成可执行文件
add_executable(usehellolib usehellolib.cpp)
//链接库到可执行文件
target_link_libraries(usehellolib hello)
- usehellolib.cpp
int main()
{
hello();
system("PAUSE");
return 0;
}
- cmake构建
- 生成结果
- 运行结果
3. 源码
链接:https://pan.baidu.com/s/1pQNowtOHaGcCJWq-qQenhQ 提取码:1b8q