linux系统下使用cmake编译so文件

本文章将介绍Linux系统下,如何使用cmake将C++语言编译成so文件 ,主要介绍如何安装cmake和编译,并使用python调用,细节如下:

一. Linux安装cmake方法:

①下载cmake包,网址为:https://cmake.org/download/

我下载包为:cmake-3.23.1-linux-x86_64.tar.gz

②解压:tar -zxvf cmake-3.23.1-linux-x86_64.tar.gz

③设置环境变量

执行

vim /etc/profile

在文件最后增加两句

export CMAKE_HOME=/opt/cmake/cmake-3.23.1-linux-x86_64/bin # 包路径,随便安装

export PATH=$CMAKE_HOME:$PATH

保存退出,刷新环境变量

source /etc/profile

检验是否安装成功

cmake -version

二.编译so文件需要准备的代码如下,如下步骤:

① C++ 需要编译的函数

#include "string.h"
#include
#include
#include
using namespace std;
extern"C" int addtest( int a ,int b);
int addtest( int a ,int b)
{
    cout<endl;
    cout<endl;
    return a+b;
}

② CMakeLists.txt文件内容如下:

cmake needs this line
cmake_minimum_required(VERSION 3.23.1)

Define project name
project(tj)

add_library(tj SHARED tj.cpp)

③使用py文件调用

from ctypes import *
import sys
dll_test = CDLL("/data/sdv2/tangjunjun/mmdet2.19/cmake/dll1/build/libtj.so")
a=dll_test.addtest(4,5)
print(a)

使用python调用so文件结果:

linux系统下使用cmake编译so文件

Original: https://www.cnblogs.com/tangjunjun/p/16163428.html
Author: tangjunjun
Title: linux系统下使用cmake编译so文件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/566379/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球