1. 搭建测试文件结构
新建test2
文件夹,将test1
(参考linux c文件生成so文件并调用示例)文件夹中的libadd.so
,add.h
,main.c
按如下结构放置于test2
文件夹中:
luo@luo-desktop:~/test2$ tree
.
├── add
│ ├── include
│ │ └── add.h
│ └── lib
│ └── libadd.so
└── main.c
2. 编写CMakeLists.txt文件
新建CMakeLists.txt
文件,源码如下:
cmake_minimum_required(VERSION 3.5)
project(test)
include_directories(./add/include) # main.c中头文件所在目录
link_directories(./add/lib) # libadd.so文件所在路径
add_executable(main main.c) # 生存可执行文件main
target_link_libraries(main add) # 链接main文件和libadd.so文件
3. 开始编译文件
新建build
文件夹,生成的文件都放在该文件夹中统一管理:
luo@luo-desktop:~/test2$ mkdir build && cd build
luo@luo-desktop:~/test2/build$ cmake ..
luo@luo-desktop:~/test2/build$ make
luo@luo-desktop:~/test2/build$ ls
CMakeCache.txt CMakeFiles cmake_install.cmake main Makefile
上面指令不报错的话会生成main
可执行文件,测试main
:
luo@luo-desktop:~/test2/build$ ./main
hello world 3
测试成功。