文章
问答
冒泡
clion创建动c++态链接库并测试

很多时候,特别是涉及到系统层面或者硬件的时候,我们会用动态链接库来实现调用。我们自己来创建一个C++动态链接库,来测试下。

环境:
系统:mac os
工具:clion
C++: 14

创建一个动态链接库工程,类型选shared

创建之后,我们可以看到里面有一个hello的默认函数

执行build,会生成一个libms.dylib文件 这个就是动态链接库文件了。

以上就创建了一个最基本的动态链接库,那么我们来试试看怎么调用。

创建一个执行工程

创建之后,会看到有个main方法,这个就是入口文件了。


编译信息在 CMakeLists.txt  文件中,可以看到默认信息

cmake_minimum_required(VERSION 3.21)
project(ms_exec)

set(CMAKE_CXX_STANDARD 14)

add_executable(ms_exec main.cpp)


将生成的动态链接文件 还有头文件 复制到工程下

并修改 CMakeLists.txt 如下

cmake_minimum_required(VERSION 3.21)
project(ms_exec)

set(CMAKE_CXX_STANDARD 14)

set(LINK_DIR ./lib)

#设置链接文件夹
link_directories(${LINK_DIR})

add_executable(ms_exec main.cpp)

#链接到当前项目的文件
target_link_libraries(ms_exec libms.dylib)

把头文件加入到代码里,就可以调用链接库里的方法了。

#include <iostream>
#include "./lib/library.h"

int main() {
    hello();
    std::cout << "Hello, World!" << std::endl;
    return 0;
}


执行结果如下:

Hello, World!
Hello, World!


动态链接库调用成功。

c++

关于作者

落雁沙
非典型码农
获得点赞
文章被阅读