configure使用说明

configure指定编译头文件和库文件路径 **使用CPPFLAGS**:`CPPFLAGS`是C/C++预处理器的标志,通过加上`-I`可以指定包含头文件的目录。- **使用`./configure`参数**:某些`configure`脚本允许使用`--with-XXX`参数直接指定依赖库的路径。- **使用pkg-config**:对于使用`pkg-config`管理的库,可以通过`.pc`文件来定位头文件和库文件。`pkg-config`工具能够根据这些`.pc`文件生成需要的编译和链接参数。 阅读详情

编译相关索引:https://blog.youkuaiyun.com/knowledgebao/article/details/84973055


./configure常用参数解释:

具体通过–help来查看具体支持什么功能。有时候编译不通过,可能依赖一些库,如果这些库关联的功能我们不需要,可以通过---disable-*lib来取消相关库的编译。

--disable-FEATURE
  一些软件包可以选择这个选项来提供为大型选项的编译时配置,例如使用Kerberos认证系统或者一个实验性的编译器最优配置.如果默认是提供这些特性,可以使用'--disable-FEATURE'来禁用它,这里'FEATURE'是特性的名字.例如:
$ ./configure --disable-gui

-enable-FEATURE[=ARG]
  相反的,一些软件包可能提供了一些默认被禁止的特性,可以使用'--enable-FEATURE'来起用它.这里'FEATURE'是特性的名字.一个特性可能会接受一个可选的参数.例如:
$ ./configure --enable-buffers=128
`--enable-FEATURE=no'与上面提到的'--disable-FEATURE'是同义的.

--with-PACKAGE[=ARG]
  在自由软件社区里,有使用已有软件包和库的优秀传统.当用'configure'来配置一个源码树时,可以提供其他已经安装的软件包的信息.例如,倚赖于Tcl和Tk的BLT器件工具包.要配置BLT,可能需要给'configure'提供一些关于我们把Tcl和Tk装的何处的信息:
$ ./configure --with-tcl=/usr/local --with-tk=/usr/local
'--with-PACKAGE=no'与下面将提到的'--without-PACKAGE'是同义的.

--without-PACKAGE
  有时候你可能不想让你的软件包与系统已有的软件包交互.例如,你可能不想让你的新编译器使用GNU ld.通过使用这个选项可以做到这一点:
$ ./configure --without-gnu-ld

--enable-static:编译静态库

--enable-shared:编译动态库

--with-pic:仅使用PIC编译,当编译出来的库被其他库调用的时候,其他库使用PIC编译,则依赖的库也需要加PIC

–prefix=/home/carl:指定安装位置,如果安装位置不指定,默认路径为/usr/local下的bin、lib等文件夹

--exec-prefix=EPREFIX与'--prefix'选项类似,但是他是用来设置结构倚赖的文件的安装位置.编译好的'emacs'二进制文件就是这样一个问件.如果没有设置这个选项的话,默认使用的选项值将被设为和'--prefix'选项值一样.

--libdir=DIR,指定库文件的安装位置.

--includedir=DIR,指定C头文件的安装位置.其他语言如C++的头文件也可以使用此选项.

--build: 执行代码编译的主机,正常的话就是你的主机系统。这个参数一般由config.guess来猜就可以。当然自己指定也可以。可以默认不写,默认为当前正在使用的主机,查看本机使用的可以在configure目录下执行./config.guess

--host:就是你编译好的程序可以运行的机器,如果没有指定,将会运行`config.guess’来检测。

--target: 这个选项只有在建立交叉编译环境的时候用到,正常编译和交叉编译都不会用到。他用build主机上的编译器,编译一个新的编译器(binutils, gcc,gdb等),这个新的编译器将来编译出来的其他程序将运行在target指定的系统上。如果不编译新的编译器,这个参数可以不填,或者与 host的参数一致。比如你build的机器是x86,想运行的host机器是arm,程序可以处理的程序target是mips


下边的选项需要卸载configure前边,比如CFLAGS="-g -O0" ./configure

CC:指定编译工具链的名字,指定GCC 交叉编译器命令,如果配置了,则使用CC配置的编译器,如果不配置则默认为host对应的GCC工具。如配置了 --host=arm-xilinx-linux-gnueabi,则默认CC的编译器为 arm-xilinx-linux-gnueabi-gcc,这个参数如无特殊指定,可以忽略不写。

CFLAGS:指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include

CFLAGS="-g -O0" ./configure添加-O0级别的调试信息

LDFLAGS:gcc 等编译器会用到的一些优化参数,也可以在里面指定库文件的位置。用法:LDFLAGS=-L/usr/lib -L/path/to/your/lib

LIBS:告诉链接器要链接哪些库文件,如LIBS = -lpthread -liconv

其他更详细的参数可以参考:https://www.xuebuyuan.com/3196393.html


1,为什么自己编译好的64位库没有安装到/usr/lib64目录下

方法一:cp /usr/lib/libXXX.so /usr/lib64/

方法二:./configure --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64

 

 

 

华为产品安全基线 一、敏感信息安全传输 1、采用HTTPS安全协议传输 2、客户端本地保存的敏感信息,需要先加密再保存使用,不可逆支持PBKDF2(迭代10000次)加密保存,可逆支持AES256+IV保存,密钥支持可更新 二、认证鉴权 1、License中心与分析节点分布式部署,需要做用户名+口令安全认证,支持使用HTTPS安全协议。 2、客户端登录支持防暴力破解,支持验证码,多次连续尝试登陆失败后锁定账... 阅读详情

相关推荐

Flutter 直接调用so动态库,或调用C/C++源文件内函数

我把 .so 文件尝试放过好几个目录/lib/,最终都会报这个错误,现在才知道库文件需要放在你根本想象不到的地方!!!尝试了一些方法还是不行后我放弃了 ffi,想着用 Flutter 的 MethodChannel 桥接 android/ios 原生,再让原生去调 native 层。一顿操作把Android端的搞定了,当然中间涉及到 Kotlin和C++ 层的数据类型映射的痛苦,而且业务函数也不像一个 helloworld 那么简单,别提有多痛苦了。

开发以大橘为重 8351

LabVIEW登录界面开发:从密码掩码到事件驱动状态机的完整实现

在软件开发中,用户认证与权限管理是保障系统安全的基础模块,其核心原理在于验证用户身份并控制资源访问。密码掩码技术作为认证过程的关键环节,通过隐藏明文输入来提升安全性,是用户界面设计的通用实践。在LabVIEW图形化编程环境中,实现这一功能需要深入理解其事件驱动架构和控件属性机制。通过自定义VI构建独立登录窗口,开发者能够完全掌控UI布局,并利用字符串控件的“密码显示”属性原生支持掩码,这解决了传统“提示用户输入”函数无法定制界面的痛点。采用事件驱动状态机模型处理用户交互,不仅确保了程序响应的流畅性,还便于集

weixin_30274627的博客 548

区块链入门:用账本、乐高和三台旧电脑讲懂分布式账本

区块链是一种去中心化的分布式账本技术,其核心原理是通过密码学哈希、共识机制和链式结构实现数据不可篡改与多方共同验证。它不依赖单一中心,而是将交易记录同步复制到多个节点,依靠数学规则而非人工信任达成一致,从而在数字世界构建可验证的信用基础设施。这种‘集体见证’模式显著提升了系统抗单点故障与人为干预的能力,广泛应用于供应链溯源、数字身份、教育管理及公益透明等需强信任保障的场景。本文以账本类比、乐高拆解和Ganache实操为线索,面向零基础读者通俗解析哈希值、挖矿与智能合约等关键概念。

weixin_30517215的博客 274

linux 下如何写一个动态库并调用FFMPEG 静态库

作为一个老的windows程序员,由于工作的原因,需要在linux 下写一个音频处理的服务。 接收到这个任务后,第一思路还是windows 思路,写一个动态库,调用ffmpeg 库,然后在动态库中写入自己的音频处理流程。 然后分享这个动态库,供其他程序员使用。按照这个思路,linux 也当然可以。 说干就干,而且是撸起袖子加油干,我在华为云申请了虚拟机,安装了uban...

weixin_43899621的博客 2380

RT-Thread学习笔记(5):SPI驱动框架分析

1、两个设备模型 在spi驱框架中,一般会自己初始化一个总线设备(rt_spi_bus),当我们通过挂载后,会相应注册一个从设备(rt_spi_device)。 1、总线设备模型 struct rt_spi_bus { struct rt_device parent; rt_uint8_t mode; const struct rt_spi_ops *ops; struct rt_mutex lock; struct rt_spi_device *owner; };

BLBQ962464的博客 1万+

汽车工程师必看:从CAN到Ethernet,6种车载通信协议全解析(附应用场景对比)

本文全面解析了从CAN到Ethernet的6种车载通信协议,包括CAN、LIN、MOST、FlexRay等,并对比了它们的应用场景和技术特点。文章详细介绍了各协议的演进历程、技术优势及在现代汽车中的混合网络架构设计,为汽车工程师提供了实用的协议选型指南和未来通信技术发展趋势。

weixin_28683689的博客 491

Linux编译安装程序

编译安装程序

教Linux的李老师 4238

5分钟看懂LTE注网全流程:从PLMN选择到小区驻留的log分析技巧

本文深入解析了LTE终端从开机到成功驻留小区的完整流程,重点分享了基于QXDM和QCAT工具的log分析实战技巧。文章详细拆解了PLMN选择、System/Band扫频、小区搜索与同步、系统消息解析及驻留等关键步骤,并提供了高频问题场景的排查思路,帮助网络优化工程师快速定位终端侧、射频环境或网络配置问题。

app77的博客 432

configure脚本的常用参数

这样,configure将使用指定的目录中的OpenSSL库源代码进行编译。同样的方法也适用于其它的库。在使用这些选项时,需要将。指定OpenSSL库,替换为实际的目录路径。是库的源代码目录路径。

m0_60352504的博客 1966

大数据安全 | 期末复习(上)| 补档

大数据定义:无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

知识库搭建ing 2588

手把手教你学simulink(26.8)--控制算法场景示例:基于强化学习的无人机姿态稳定控制系统

首先,我们需要定义无人机的姿态稳定控制环境。环境包括无人机的状态(姿态角、角速度等)和动作(电机转速)。我们还需要定义奖励函数,用于评估控制器的表现。matlab深色版本% 定义环境% 定义状态空间% 12个状态变量% 定义动作空间% 电机转速范围奖励函数用于评估控制器的表现。我们可以根据无人机的姿态误差、角速度误差以及控制输入的变化率来设计奖励函数。具体来说,当无人机的姿态接近设定值时,给予正奖励;当姿态误差较大或控制输入变化剧烈时,给予负奖励。matlab深色版本。

MHD0815的博客 495

configure 配置参数说明

configure 配置参数说明 1 说明 2 开发环境 3 configure参数说明 3.1 查看configure 配置选项 3.2 参数说明 3.2.1 build 参数 3.2.2 host 参数 3.2.3 target 参数 3.2.4 CC 编译器参数 3.3 编译参数示例 1 说明 在linux 中,经常需要用到交叉编译,在ubuntu系统中,交叉编译可以运行在arm平台上的bin文件。对于大部分代码, 都有configu.

zhang421412170的博客 2898

YOLOv11的对比学习预训练改进-(通过SimCLR预训练增强特征提取)

本文介绍了将SimCLR对比学习预训练与YOLOv11目标检测模型相结合的创新方法。文章首先概述了目标检测领域的发展现状和YOLOv11的架构优化,包括主干网络、特征金字塔和检测头的改进设计。其次详细解析了SimCLR对比学习的核心原理,涵盖数据增强、投影头设计和NT-Xent损失函数。最后探讨了如何将对比学习与目标检测有效结合,通过特征空间对齐和渐进式微调策略提升模型性能。该方法显著增强了特征提取能力,提高了检测精度和训练效率,特别是在小目标和遮挡目标的检测上表现突出。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 685

configure交叉编译 说明

交叉编译某个应用程序时,通常需要 ./configure 来生成对应的 Makefile ./configure 最关键的三个选项是: --host=HOST 指定软件运行的系统平台.如果没有指定,将会运行`config.guess'来检测. --build=BUILD 指定软件包安装的系统平台.如果没有指定,默认值将是'--host'选项的值. --target=GARG

u010871058的专栏 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

nginx configure 文件说明

nginx configure 文件说明 nginx的版本为nginx-1.15.0 [TOC] nginx目录结构

sidumqz的博客 1502

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

qt之configure选项说明

先使用./configure --help来看看都有哪些参数 1.【安装选项】 选项 作用 -prefix 指定部署目录(默认 /usr/local/Qt-5.6.0) -extprefix 安装目录(默认 SYSROOT/PREFIX) -hostprefix [dir] 运行在这个主机上的构建工具的安装目录,如果不给定,使用当前目录(默认 EXTPREFIX) ...

hezhanran的博客 6050

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

./configure配置说明

其中–prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。.c文件的编译选项,示例CFLAGS=“-g -O2 -I/home/mayue/bulidspace/termcap-1.3.1/install/include”./configure是用来检测你的安装平台的目标特征的。c++文件的编译选项。

weixin_43527214的博客 2086

python configure_python3.7 configure 配置说明

`configure' configures python 3.7 to adapt to many kinds of systems.Usage: ./configure [OPTION]... [VAR=VALUE]...To assign environment variables (e.g., CC, CFLAGS...), specify them asVAR=VALUE. See b...

weixin_29005499的博客 2198

Linux中的configure命令作用,Linux下configure命令参数的详细说明

Linux下configure命令参数的详细说明Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。与一些技巧相比,Configure显得基础一些,当然使用和学习起...

weixin_42568714的博客 885

Configure脚本支持说明

在Linux上安装Nginx需要执行Configure脚本,该脚本需要做一些参数说明: 选项 说明 --prefix=<path> 指定Nginx软件的安装路径,若不指定默认安装在/usr/local/nginx/目录 --sbin-path=<path> 指定Nginx可执行文件安装路径,只能在安装时指定,若不指定默认为<prefix>/sbin/...

weixin_30315435的博客 78

OpenSSL Configure选项说明

OpenSSL编译 configure 配置选项 选项 选项说明 –api=x.y.z Don’t build with support for deprecated APIs below thespecified version number. For example “–api=1.1.0” willremove support for all APIS that were d...

shb8845369的专栏 1万+

./configure 常用参数说明

./configure 参数:Unix 下常用的 ‘./configure && make && make install’ 过程来编译安装。     configure 脚本确定系统所具有一些特性,特别是 nginx 用来处理连接的方法。然后,它创建 Makefile 文件。     configure 支持下面的选项:     –prefix=<path> - Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。     –sbin-path=<path> - Nginx可执行文

1274

nginx安装configure参数配置说明

官网说明:http://nginx.org/en/docs/configure.html 使用该configure命令配置构建。它定义了系统的各个方面,包括允许nginx用于连接处理的方法。最后它创建了一个Makefile。 该configure命令支持以下参数: –help 打印帮助信息。 –prefix=path 定义将保留服务器文件的目录。同一目录也将用于设置的所有相对路径 configur...

依步_的专栏 2960

Qt configure;参数说明

Qtconfigure 参数说明 分类: Qt2012-03-3113:48 377人阅读 评论(1) 收藏 举报 qt嵌入式数据库图形平台sqlite   当进入解压好的源码包后,使用./configure–help命令,可以获得相应帮助,那我们只要选取参数部分看看 -release 这个参数显而易见,就是编译Qt以发布版的模式进行,一般来说,最后系统完成后,库就应

少波波波波少 819

./Configure参数解释说明

Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。 与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一

fred's blog 789

configure常用参数说明

在交叉编译中比较常见的参数是build、host和target了,正确的理解这三者的含义对于交叉编译是非常重要的,下面就此进行解释   --build=编译该软件所使用的平台(在什么平台上进行编译)       --host=该软件将运行的平台(生成的程序在什么平台上运行)       --target=该软件所处理的目标平台   我们以 编译 gcc 为例子来 讲解 这三者的作用   

houxiaoliwang的博客 1541
上一篇: h264和h265的区别
下一篇: 索引首页
knowledgebao
博客等级 码龄15年 401粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值