ubuntu安装pbc库

news/2025/10/2 16:53:57/文章来源:https://www.cnblogs.com/xxb667/p/19123749

ubuntu安装pbc库

pbc中的gmp库和pbc库下载链接如下:

pbc下载
密码:gh40

1.安装gcc库

首先查看一下是否安装gcc库,若没有安装则无法运行c语言代码

gcc -v

运行上述指令若是没有弹出版本号,则需要安装gcc库

进入管理员账号后再进行安装gcc库

# 进入管理员账号命令
sudo su # 输入命令后再输入开机密码即可进入root用户

gcc安装指令:

sudo apt install gcc

image

安装好之后再使用下列命令查看是否成功

成功的话会显示gcc的版本号

gcc -v

image

2.下载依赖库:m4、flex、bison

sudo apt-get update 
sudo apt-get install m4
sudo apt-get install flex
sudo apt-get install bison

image

image

image

3.安装gmp库

下载地址https://gmplib.org/
解压并安装

gmp-6.3.0.tar.xz这个文件

命令如下:

# 解压gmp压缩包
tar xvJf gmp-6.3.0.tar.xz

image

image

进入gmp目录并运行configure文件

ls # 查看当前目录下的文件
cd gmp-6.3.0 # 进入gmp-6.3.0这个目录
ls # 查看当前目录下的文件,并找到configure这个文件# 执行configure这个文件
./configure

image

image

没有make需要安装make

make
make check
apt install make
make -v # 查看make版本

image

image

image

4.安装pbc库

安装好下面操作后需要回到Desktop那个目录

下载地址http://crypto.stanford.edu/pbc/download.html

下载并解压下面这个文件

pbc-1.0.0.tar.gz

命令如下:

# 返回上一级目录
cd ..
# 解压pbc压缩包
tar -xzvf pbc-0.5.14.tar.gz# 进入pbc-0.5.14目录
cd pbc-0.5.14
ls # 查看当前目录文件# 执行configure文件
./configure

image

image

image

安装make

make
make check
sudo make install

image

image

image

pbc库中make库无法安装问题

问题是找不到 gmp库

image

解决方法

/usr/local/lib 写进系统默认搜索路径,一次配置,永久生效

# 1. 让动态链接器认识 /usr/local/lib
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/gmp.conf
sudo ldconfig# 2. 让 pkg-config 认识
echo "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:\$PKG_CONFIG_PATH" >> ~/.bashrc
source ~/.bashrc

image

再进 pbc 目录:

./configure
make
sudo make install

image

image

一键验证是否找到 GMP
pkg-config --modversion gmp

如果能输出版本号(例如 6.3.0),就说明路径已正确,再 ./configure 一定不会报 “gmp library not found”。

image

5.验证pbc是否装成功

首先执行下面的指令建立文件夹和c语言文件

# 创建新目录
mkdir -p code 
# 查看当前目录文件
ls
# 进入code目录
cd code# 创建C语言文件
nano test.c

test.c文件中写入下面代码

#include<pbc/pbc.h>
int main(void)
{printf("pbc test\n");return 0;
}

写完代码后按 Ctrl+X 退出程序

image

# 编译
gcc test.c -o test# 运行
./test

image

引用pbc库报错

image

解决方法

新建.conf文件

cd /etc/ld.so.conf.d
sudo vi libpbc.conf

在文件中添加路径

/usr/local/lib

刷新cache

sudo ldconfig

image

以上都改好了可能还会像我一样报错,就在修改

gcc test.c -lgmp -lpbc -I/usr/local/include/pbc -o test

再运行test.c程序就没有问题了
image

全局设置pbc

  1. 把头文件目录软链到系统默认 include

    sudo ln -s /usr/local/include/pbc /usr/include/pbc
    
  2. 把库文件目录写进系统 linker 配置

    echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/pbc.conf
    sudo ldconfig
    

image

3.测试

把测试命令换成 带 main 的空程序即可:

gcc -x c - -lpbc -lgmp -o /dev/null <<<'int main(void){ return 0; }' && echo OK

只要终端输出:

OK

就说明:

  1. 头文件目录已全局可见
  2. 库文件目录已全局可见
  3. 链接器能找到 libpbc.solibgmp.so

image

注:在引入头文件时注意加上路径pbc/pbc.h

#include<pbc/pbc.h>
int main()
{printf("pbc 功能测试\n");return 0;
}

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础微网站开发代理商移动端网站咋做

金蝶财务软件想要使用的好是有技巧的&#xff01;快捷键简易汇总&#xff1a;快捷键详细说明1、凭证处理①、摘要栏两种快速复制摘要的功能&#xff0c;在下一行中按“..”可复制上一条摘要&#xff0c;按“//”可复制第一条摘要。同时&#xff0c;系统还设计了摘要库&#xff…

《电路基础》第六章学习笔记

《电路基础》第六章学习笔记本章我们将学习电容和电感电路。电容器构成: 电容器由被绝缘体(电介质)隔开的两个导电金属极板组成高中知识: \[q=Cv \]\[C= \frac{\varepsilon A}{d} \]其中A为各个极板的表面积,d为两…

wordpress开发视频网站模板国外电商网站如何建立

前言 做了一段时间的bat脚本开发&#xff0c;bat脚本中有各种各样的命令跟传统的编程逻辑完全不同&#xff0c;本专栏会讲解下各种各式的命令使用方法。 本篇文章讲解的是获取windows系统的复制命令&#xff08;copy和xcopy&#xff09;&#xff0c;copy和xcopy是Windows命令行…

datadome 隐私模式 ck设置

开启隐私模式, ck 无法成功设置window["document"]["cookie"] = "dd_testcookie=1; path=/; SameSite=None; Secure"

有后台管理系统网站管理二手房信息发布平台

根据 UNIX_TIMESTAMP 去掉分钟后的的位数 思路如下select UNIX_TIMESTAMP(now()) 当前时间 秒,now() 当前时间,FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(CURRENT_TIMESTAMP) / (3 * 60)) * (3 * 60)) 3分钟为分隔去掉多余位数当前时间 秒 当前时间 3分钟为分隔去掉多余…

利用IOT-Tree消息流【标签读写】功能详细说明

利用IOT-Tree消息流【标签读写】功能详细说明pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

2025.10.2 2024CCPC重庆

施工中…… vp 5/13(B E I J K) 补题: A D H M

二分图判定,染色法

#include <iostream> #include <cstring> #include <algorithm> using namespace std;const int N=100010,M=2*N; int n,m; struct edge{int v,ne;}e[M]; int h[N],idx; int color[N];void add(int …

命令行实用技巧

键盘上下键调出历史命令 Ctrl + c:废弃当前命令行中的命令,取消当前执行的命令,例如ping Ctrl + l,clear:清屏 tab键自动补齐:可补齐命令、参数、文件路径、软件名 esc + . :将上一条命令参数变成当前命令的执行…

网站代码多彩外卖小程序怎么制作

文章目录 参考文章PGO是什么使用PGO的好处PGO做了什么热函数内联什么是内联内联的好处Go默认的内联策略查看内联预算PGO的热函数内联 去虚拟化调用指令高速缓存 PGO有什么缺点可执行程序变大构建时间变长 PGO怎么使用典型的工作流程收集CPU配置文件生产环境启动PGO代码改动重新…

廊坊企业做网站做企业官网的公司

wav文件格式分析详解 作者&#xff1a;曹京日期&#xff1a;2006年7月17日 一、综述 WAVE文件作为多媒体中使用的声波文件格式之一&#xff0c;它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写&#xff0c;每个WAVE文件的头四个字节便是“RIFF…

农家乐网站 建设绍兴以往网站招工做

​一、前言 上一篇给牛奶做直播之二 主要讲用RTMP搭建点播服务器&#xff0c;整了半天直播还没上场&#xff0c;今天不讲太多理论的玩意&#xff0c;奶牛今天放假了也不出场&#xff0c;就由本人亲自上场来个直播首秀&#xff0c;见下图&#xff0c;如果有兴趣的话&#xff0…

菏泽哪里有做网站的因酷网站建设

转载自公众号&#xff1a;工匠小猪猪的技术世界 摘要: 本文非原创&#xff0c;是笔者搜集了一些HikariCP相关的资料整理给大家的介绍&#xff0c;主要讲解了为什么sb2选择了HikariCP以及HikariCP为什么这么快。 Springboot2默认数据库连接池选择了HikariCP为何选择HikariCP理由…

设备沉睡的“心跳”难题:BLE休眠后无法被手机唤醒的分析与优化 - 详解

设备沉睡的“心跳”难题:BLE休眠后无法被手机唤醒的分析与优化 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &…

CPU温度查看(Core Temp)

前言 原因很简单,用到Core Temp这个软件是因为想查看CPU的温度,现在从任务管理器中已经看不到CPU温度了,所以需要其他方式来查看为什么需要看CPU的温度呢,因为在某天,我发现刚开机,基本没跑什么任务,风扇就开始…

实用指南:Python虚拟环境管理工具virtualenv详解

实用指南:Python虚拟环境管理工具virtualenv详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

博罗网站设计公司网站服务搭建

sys模块 与操作系统交互的一个接口 文件夹相关 os.makedirs(dirname1/dirname2) 可生成多层递归目录os.removedirs(dirname1) 若目录为空&#xff0c;则删除&#xff0c;并递归到上一级目录&#xff0c;如若也为空&#xff0c;则删除&#xff0c;依此类推os.mkdir(dirnam…

负载均衡式的在线OJ项目编写(三) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

云校网站建设wordpress缓存清除

BLE服务器与客户端通信 文章目录 BLE服务器与客户端通信1、软件准备2、硬件准备3、代码实现3.1 BLE服务器实现3.2 Android手机测试BLE服务器3.3 ESP32 BLE客户端在本文中,我们将介绍如何使用低功耗蓝牙在两个 ESP32 开发板之间执行 BLE 服务器客户端通信。 换句话说,将介绍如…

织梦菜谱网站模板免费下载有些网页打不开是什么原因

一、二次利用风险 电动汽车的当前电池信息&#xff0c;如年份、容量和制造商&#xff0c;通常是相互关联和不完整的。再加上电池内部的电化学变化&#xff0c;SLB在包括安全和环境在内的一些领域存在很大的风险&#xff0c;这表明短期内梯次利用仍然是一个不成熟的方案。 1.1 安…