本文章将介绍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 <iostream>
#include <sstream>
#include <stdio.h>
using namespace std;
extern"C" int addtest( int a ,int b);
int addtest( int a ,int b)
{
cout<<a<<endl;
cout<<b<<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文件结果:
原文链接: https://www.cnblogs.com/tangjunjun/p/16163428.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/188729
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!