/configure --with-php-config=/usr/bin/php-config 可能发生的问题: 1.Cannot find autoconf....Please check your autoconf installation and the $PHP_AUTOCONF environment variable.Then, rerun this script...最终发现了是自己在2.3的步骤时候有错误。.../config.status config.status: creating config.h $ make ... Build complete....Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20160303/ 最后一步会告诉你 扩展安装到了哪里
FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS]) AC_CONFIG_SRCDIR([hello.c]) AC_CONFIG_HEADERS([config.h...新版本中该宏不需要任何参数 AC_CONFIG_SRCDIR([hello.c]) AC_CONFIG_HEADERS([config.h]) # Checks for programs....在使用Automake之前,要先手动建立Makefile.am文件。.../config.status config.status: creating Makefile config.status: creating config.h config.status: executing...➜ project git:(master) ✗ 参考资料 autoconf和automake的使用 这个资料是非常完整的,本文大部分内容都是从这边资料拷贝过来的 感谢作者YuChen 例解 autoconf
2、使用Autoconf过程 Autoconf工具只是autotools系列工具中的一个,运行之后可对configure.in脚本配置文件进行处理进而生成configure可执行文件。...调用automake,将每个Makefile.am转化成Makefile.in,同时生成满足GNU编码规范的一系列文件(带-a选项自动添加缺少的文件,但有几个仍需要自己添加,在执行automake前需执行...文件】 添加AM_INIT_AUTOMAKE宏 AM_INIT_AUTOMAKE是检查automake尝试Makefile时的工具,传到这个宏里的参数是要编译的应用程序的名称和版本号(这些参数成为config.h...中定义的PACKAGE和VERSION值) AC_CONFIG_HEADERS([config.h]) 这个宏的目的是输出config.h,这是一个C的头文件,里面主要是包含很多宏定义#define...上一行添加AC_CONFIG_FILES宏 添加这个宏的目的是制定Autoconf输出哪些文件,常见的文件就是Makefile文件,config.h在AC_CONFIG_HEADERS宏里面指定了,这里不需要再次指定
Cumming Chen Chih-Chia May 28, 2005 (Updated) Abstract 在...Using a Config Header AM_CONFIG_HEADER(config.h) 這行指出了您將會使用 config.h 檔。...autoconf 將會需要 config.h.in ,並將之處理成 config.h。...當然,這個會在稍後的 configure script 用到。...在每一個子目錄中都要新增一個 Makefile.am。但是不需要 configure.in。
Open Source Flow 编译的缺少“gnutls/gnutls.h”错误 获取代码 以下列命令获取U-Boot代码 petalinux-devtool modify u-boot-xlnx 在目录...”错误 hankf@XSZGS4:u-boot-xlnx$ make -j scripts/kconfig/conf --syncconfig Kconfig UPD include/config.h...CFG u-boot.cfg GEN include/autoconf.mk.dep CFG spl/u-boot.cfg In file included from.../include/common.h:16: include/config.h:4:10: fatal error: configs/platform-top.h: No such file or directory...Kconfig arch/Kconfig:379:warning: 'SYS_IMMR': number is invalid CFG u-boot.cfg GEN include/autoconf.mk.dep
在一个很大的项目中,维护Makefile是一个非常头疼的烦恼事。于是一个新的产物Autotools就出来了,他用来生成复杂的Makefile,很大程度降低了我们的开发难度。...AC_CONFIG_HEADER宏用于生成config.h文件,以便 autoheader 命令使用。...工具: 执行autoconf命令。...在Yocto工程创建自己的recipe。这里我随便找了一个地方放我的recipe进行演示。创建files目录和rice-autotools_git.bb文件。...然后我们在Yocto进行编译,然后将镜像烧录到板子上。运行结果: / # rice Rice Autotools!!! / #
关于字符串在JVM的哪里 字符串对象在JVM中可能有两个存放的位置:字符串常量池或堆内存。...提供了一个API, java.lang.String.intern(),这个API可以手动将一个字符串对象的值转移到字符串常量池中 JDK1.7之后虽然字符串常量池也转换到了堆中,但是其实字符串常量池是在堆中独立开辟的空间...我们创建一个普通字符串和一个字符串对象结构类似于下图 代码验证 这里其实我们可以看出一些intern()的特性了. intern源码分析 我们来看intern方法的实现,intern方法的底层是一个native方法,在Hotspot...JVM里字符串常量池它的逻辑在注释里写得很清楚....总结 在Java应用恰当得使用String.intern()方法有助于节省内存空间,但是在使用的时候,也需要注意,因为StringTable的大小是固定的,如果常量池中的字符串过多,会影响程序运行效率。
v .-> [config.h] -. +--> config.status* -+ +--> make*...Autoconf语言原文:Autoconf-Language引用符号是[],强烈建议对所有包含 宏名、逗号、括号、前导空格、换行符 的参数都加上引用符号。...已经在文本中引用了AC_DC:[echo "Hard rock was here!...Autoconf宏被定义在多个文件里面。...(when appropriate) 在特殊目录及其子目录下更新GNU构建系统。
前段时间一个老朋友也联系我咨询郑州房子的事情(难道就因为我在郑州吗?)。那朋友一连串问了我好几个为题,听说郑州现在房子降价了?现在该不该买?买这个XXX楼盘合适吗? ? 可是,我们是老朋友,你懂的。
我们可以在PHP的源码里面找到一个工具叫做ext_skel(extension skeleton的缩写,生成扩展骨架的意思)。它可以帮我们生成扩展目录。这里不进行介绍。...PHP_INSTALL_HEADERS([ext/study], [*.h config.h include/*.h thirdparty/*.h]) 这段是把我们的study扩展目录里面的*.h、config.h...这个是在执行make install的时候会进行复制。我们待会会看到。 PHP_REQUIRE_CXX() 因为,我们使用了C++,所以我们需要指明一下。.../make.sh (如果无法执行make.sh脚本,需要设置它为可执行) (make.sh 脚本中的一个命令是phpize,phpize会使用autoconf工具,而autoconf工具会根据config.m4...OK,我们现在来看看我们扩展的头文件是否被复制了: ~/codeDir/cppCode/study # ls /usr/local/include/php/ext/study/ config.h
本系列文章均翻译自Autoconf官方文档:Autoconf Manual,github同步项目:question Autoconf是一个用于生成shell脚本的工具,可以自动配置软件源代码以适应多种类似...v .-> [config.h] -. +--> config.status* -+ +--> make*...已经在文本中引用了AC_DC:[echo "Hard rock was here!...Autoconf宏被定义在多个文件里面。...(when appropriate) 在特殊目录及其子目录下更新GNU构建系统。
一、前言 linux环境下,当项目工程很大的时候,编译的过程很复杂,所以需要使用make工具,自动进行编译安装,但是手写makefile文件比较复杂,所幸在GNU的计划中,设计出了一种叫做Autoconf...无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install。...(4)AC_CONFIG_HEADER宏用于生成config.h文件,以便autoheader使用。 (5)AC_PROG_CC用来指定编译器,如果不指定,选用默认gcc。...分别执行aclocal、autoconf、autoheader命令 5....执行命令: aclocal\autoconf\autoheader 8.
/config.status config.status:creating config.h [root@localhosteaccelerator-0.9.6]# echo $?.../lib/autoconf/general.m4:1974:AC_CACHE_VAL is expanded from... ../...../lib/autoconf/general.m4:1974:AC_CACHE_VAL is expanded from... ../...../config.status config.status:creating config.h [root@localhostPDO_MYSQL-1.0.2]# make && make install.../config.status config.status:creating config.h [root@localhostimagick-2.3.0]# make && make install --
Autoconf 的目标是: 可移植性:生成的 configure 脚本可以在多种 Unix 系统上工作 自动化:自动检测系统特性和功能 自包含:生成的 configure 脚本是自包含的,用户不需要安装.../configure (运行) ↓ config.h, Makefile (生成) 使用场景 Autoconf 在以下场景中特别有用: GNU 软件包开发:符合 GNU 编码标准的软件包 跨平台项目.../configure**:配置项目,生成 config.h 和 Makefile **运行 make**:编译项目 OpenHarmony 适配过程 项目结构 autoconf/ ├── bootstrap....1] Error 127 问题分析 Autoconf 在构建时会尝试生成 man 页面,这需要 help2man 工具。...功能测试 在 OpenHarmony 设备上测试 autoconf: # 检查版本 autoconf --version # 检查帮助 autoconf --help # 测试其他工具 autoheader
RAM掉电数据会丢失,RW-data是非0初始化的数据,已初始化的数据需要被存储在掉电不会丢失的FLASH中,上电后会从FLASH搬移到RAM中。...虽然SRAM速度更快,读写时间也更短,但SRAM的成本较高,所以在存储器容量较小的情况下,通常使用SRAM,而对于大容量存储器,则使用SDRAM。...放入该部分的值在启动时不会被初始化,在软件重启后也会保持值不变。
直接安装 有源的情况下,axel 在 CentOS 可以通过 yum 的方式直接安装: yum install -y axel 没有源的情况下,在 CentOS 6/7 中可以先添加 Epel 源再安装...Ubuntu 中安装 Axel,有源的情况可以参考下面的安装方式;无源情况下的安装可以参考源码或者其他的安装方式,这里不细说: apt-get install axel 源码安装 axel 的源码是托管在...--prefix 指定了 autoconf-archive 的安装路径,在安装 axel 的时候需要额外指定 autoconf-archive 的 m4 文件路径: $ autoreconf -i -...I/usr/local/software/autoconf-archive-2019.01.06/share/aclocal 我在 CentOS 6.5 下使用了自定义的 autoconf-archive...config.status: WARNING: 'po/Makefile.in.in' seems to ignore the --datarootdir setting config.status: creating config.h
但是在日常使用中,庞大的开源库,autoconfig 还是占据大半壁江山。 笔者的打包工作历程,也是从简单的可执行文件的拷贝到生成安装包,也是走全了。...工具包 安装 apt install autoconf automake libtool 命令工具 autoscan aclocal autoheader automake autoconf Demo...Makefile.am 文件,在 需要编译的目录或者编译以来目录每个目录都需要添加对应的Makefile.am 文件。...lib_LIBRARIES= libmain.amain_SOURCES = main.cppmain_LDADD = main_LDFLAGSmain_DEPENENCIES= 头文件 include_HEADERS = config.h...AM_INIT_AUTOMAKE(目标文件名, 版本信息) 必须需要 AC_CONFIG_SRCDIR([src/main.cpp]) # 生成可执行文件的cpp 文件 AC_CONFIG_HEADERS([config.h
在shell代码识别并响应了一个被列出的系统特征之后,Autoconf允许多个可能使用(或者需要)该特征的软件包共享该特征。...对于在C程序中的#ifdef中使用的宏的名字,Autoconf施加了一些限制(参见预处理器符号索引)。 Autoconf需要GNU m4以便于生成脚本。...-> [config.h] -. 网管论坛bbs_bitsCN_com ??????? +--> config.status* -+???????...除了少数特殊情况之外,在`configure.in'中调用Autoconf宏的顺序并不重要。...网管朋友网www_bitscn_net 为了提高一致性,下面是调用Autoconf宏的推荐顺序。通常,在本列表中靠后的项目依赖于表中靠前的项目。
autoconf中使用的宏语言为M4。[configure.ac是autoconf的输入] 宏在与autoconf软件包一起分发的文件中定义。...例如,您可以在Autoconf安装目录(通常为/usr/(local/)share /autoconf)中的autoconf/general.m4文件中找到AC_INIT的定义。...AC_OUTPUT在autoconf/status.m4中定义。...执行 运行autoconf很简单:只需在configure.ac文件所在的目录中执行它即可。...AC_INIT([Jupiter], [1.0], [jupiter-bugs@example.org]) AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_HEADERS([config.h
├── configure ← 由autoconf生成的配置脚本 └── Makefile.in ← 由automake生成的模板 1.2 解决的问题 在早期软件开发中,不同Unix系统存在差异...生成 config.h 和 Makefile 3. 运行 make(编译程序) 4....include_HEADERS = math.h # 如果检测到数学库,添加链接选项 if HAVE_LIBM libmath_la_LIBADD = -lm endif 4.3 配置与构建过程 开发者在发布前的操作...# bin_PROGRAMS = threaded_app # else # bin_PROGRAMS = single_app # endif 六、实际应用场景对比 场景1:小型个人项目 需求:只在Ubuntu...测试充分:在不同系统上测试configure脚本 十、总结 Autoconf作为GNU构建系统的核心,为跨平台软件提供了强大的配置能力。