当前位置: 首页 > news >正文

地图网站设计c2c网站开发毕业设计

地图网站设计,c2c网站开发毕业设计,wordpress 官方app,给wordpress菜单加图标1 前述 在Linux的应用或者驱动开发过程中#xff0c;编写makefile是无法避免的问题#xff0c;但是由于makefile的各种规则#xff0c;或显式#xff0c;或隐式#xff0c;非常多#xff0c;不经常写的话#xff0c;很难写出一个可用的makefile文件。为了“偷懒”…1 前述 在Linux的应用或者驱动开发过程中编写makefile是无法避免的问题但是由于makefile的各种规则或显式或隐式非常多不经常写的话很难写出一个可用的makefile文件。为了“偷懒”社区上出现了一些可以自动生成makefile的工具比如cmake比如autotoolscmake在其他地方了解这里先了解下autotools工具。 2 详细过程 通过autotools生成makefile文件的流程图如下 2.1 安装autotools工具 sudo apt install automake2.2 准备源文件 源文件随便准备了两个一个主程序文件一个封装接口文件目录结构如下 configure-learn/ ├── hello.c ├── hello.h └── main.c0 directories, 3 files测试文件的内容不列出来了就是简单的调用hello.c里面的接口。 2.3 生成configure.ac文件 源文件创建后我们就可以通过autoscan命令对该目录进行扫描生成configure.scan文件。首先切换到该目录然后执行命令如下 autoscan执行成功后可以看出多了两个文件一个是autoscan.log这个是日志文件另外一个是configure.scan文件这个是扫描的结果文件。 这里configure.scan其实是一个模板文件我们需要手动修改其内容并将其改名为configure.ac。具体需要做 1 AC_INIT里面的参数: AC_INIT(main, 1.0.0, 2222222222163.com) 2 添加宏AM_INIT_AUTOMAKE 3 在AC_OUTPUT后添加输出文件Makefile。 修改前 # -*- Autoconf -*- # Process this file with autoconf to produce a configure script.AC_PREREQ([2.69]) AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS]) AC_CONFIG_SRCDIR([main.c]) AC_CONFIG_HEADERS([config.h])# Checks for programs. AC_PROG_CC# Checks for libraries.# Checks for header files.# Checks for typedefs, structures, and compiler characteristics.# Checks for library functions.AC_OUTPUT完成修改后的文件内容如下 # -*- Autoconf -*- # Process this file with autoconf to produce a configure script.AC_PREREQ([2.69]) AC_INIT(main, 1.0.0, 2222222222163.com) AC_CONFIG_SRCDIR([main.c]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE(main, 1.0.0)# Checks for programs. AC_PROG_CC# Checks for libraries.# Checks for header files.# Checks for typedefs, structures, and compiler characteristics.# Checks for library functions.AC_OUTPUT(Makefile)下面给出本文件的简要说明所有以”#”号开始的行为注释 1AC_PREREQ 声明本文件要求的autoconf版本本例使用的版本为2.69。 2AC_INIT 用来定义软件的名称和版本等信息”FULL-PACKAGE-NAME”为软件包名称”VERSION”为软件版本号”BUG-REPORT-ADDRESS”为BUG报告地址一般为软件作者邮件地址。 3AC_CONFIG_SRCDIR 用来侦测所指定的源码文件是否存在来确定源码目录的有效性。此处为当前目录下的hello.c。 4AC_CONFIG_HEADER 用于生成config.h文件以便autoheader使用。 5AM_INIT_AUTOMAKE 检查automake尝试Makefile时的必要的工具。 例如AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) 一些可选的选项 选项解释-Wall打开全部警告-Werror将警告当错误处理-foreign放宽一些GNU标准需求-1.11.1需要automake的最低版本-dist-bzip2在使用make dist和make distcheck期间同时创建tar.bz2存档-tar-ustar使用ustar格式创建tar存档 6AC_PROG_CC 用来指定编译器如果不指定选用默认gcc。 7AC_OUTPUT 用来设定 configure 所要产生的文件如果是makefileconfigure会把它检查出来的结果带入makefile.in文件产生合适的makefile。使用Automake时还需要一些其他的参数这些额外的宏用aclocal工具产生。 更详细的说明表 宏说明AC_PREREQ声明autoconf要求的版本号。AC_INIT定义软件包全名称版本号联系方式。AC_CONFIG_SCRDIR用来侦测所指定的源码文件是否存在来确定源码有效性。AC_CONFIG_HEADERAC_CONFIG_HEADERS([config.h])告诉autoheader应当生成config.h.in的路径由autoconf自动生成config.h文件。在实际的编译阶段生成的编译命令会加上-DHAVE_CONFIG_H定义宏于是在代码中就可以安全的引用config.h。 config.h包含了大量的宏定义其中包括软件包的名字等信息程序可以直接使用这些宏;更重要的是程序可以根据其中的对目标平台的可移植性相关的宏通过条件编译动态的调整编译行为。 每当configure.ac有所变化都可以通过再次执行autoheader更新config.h.in。AC_CONFIG_AUX_DIR当我们以–install参数运行时libtoolize --copy被调用这将使得ltmain.sh被copy进来;接下来分别执行autoconf和autoheader;automake的参数为–add-missing --copy --no-force这将使得几个辅助脚本和文件被安装到目录下。 这些辅助文件默认安装在configure.ac同一个目录下如果你希望用另一个目录来存放他们可以配置AC_CONFIG_AUX_DIR例如AC_CONFIG_AUX_DIR([build-aux])将使用build-aux目录来存放辅助文件。 如果不使用–install参数辅助文件要么不copy要么以软链的形式创建。推荐使用–install因为这样其他软件维护可以避免由于构建工具版本不一致造成问题。AC_CONFIG_MACRO_DIRAC_CONFIG_MACRO_DIR([m4])指定使用m4目录存放第三方宏;然后在最外层的Makefile.am中加入ACLOCAL_AMFLAGS -I m4。AM_INIT_AUTOMAKEautomake的出现晚于autoconf所以automake是作为autoconf的扩展来实现的。通过在configure.ac中声明AM_INIT_AUTOMAKE告诉autoconf需要配置和调用automake。 在AC_INIT 宏之后添加AM_INIT_AUTOMAKE([foreign -Wall -Werror])括号里面的选项可以根据需要来修改具体请看automake手册关于这个宏的说明。 NEWS README AUTHORS ChangeLog这些文件是GNU软件的标配不过在项目中不一定需要加入。如果项目中没有这些文件每次autoreconf会提示缺少文件不过这并不影响。如果不想看到这些错误提示可以用AM_INIT_AUTOMAKE([foreign])来配置automake或者在顶层Makefile.am中使用AUTOMAKE_OPTIONS foreignforeign参数就是告诉automake不要这么较真。AM_PROG_AR指定压缩工具构建静态库时需要。AC_MSG_ERRORAC_MSG_XXX这些宏都是echo shell命令的包装器。configure时它们将输出定向到适当的文件描述符。配置脚本很少需要直接运行echo为用户打印消息。使用这些宏可以很容易地更改打印每种消息的方式和时间。AC_DISABLE_SHARED更改LT_INIT的默认行为以禁用共享库。用户仍然可以通过指定“ --enable-shared”来覆盖此默认设置。 LT_INIT的disable-shared选项是该功能的简写。 AM_DISABLE_SHARED是AC_DISABLE_SHARED的已弃用别名此选项必须在LT_INIT之前才能生效。LT_INIT如果要使用libtool编译需要在configure.ac中添加LT_INIT宏同时去掉AC_PROG_RANLIB。 启用libtool后该宏会添加对–enable-shared–disable-shared–enable-static–disable-static–with-pic和–without-pic配置标志的支持查阅LT_INIT说明。AC_PROG_CC指定C编译器默认GCC。AC_PROG_LIBTOOLAC_PROG_LIBTOOL和AM_PROG_LIBTOOL是不推荐使用的旧版本建议使用LT_INIT替代之。AC_PROG_RANLIB构建静态库时需要具体请看automake手册建议使用LT_INIT替代之。AC_CANONICAL_HOST该宏调用后可以在通过host_cpuhost_vendor和host_os这三个变量获得系统相关信息。AC_CHECK_HEADERS检查一批头文件。AC_DEFINE使用本宏进行符号定义但要为其定义模板。如果缺少模板autoheader将报错。AH_TEMPLATE配合AC_DEFINE使用。AC_DEFINE_UNQUOTED类似于AC_DEFINE但还要对variable和value进行三种shell替换每种替换只进行一次 变量扩展‘$’命令替换‘’以及反斜线转义符‘’。值中的单引号和双引号 没有特殊的意义。在variable或者value是一个shell变量的时候用本宏代替AC_DEFINE。AM_CONDITIONAL用于定义条件生成一个automake宏可以在Makefile.am中使用这个条件宏进行判断控制。AC_ARG_ENABLE本宏用来增加编译时选项该选项使用户可以选择要构建和安装的可选功能若选项为软件包类似于nginx中的引入第三方功能包时参考AC_ARG_WITH。最终可以在./configure --help的Optional Packages选项中看到该项。AS_HELP_STRING格式化帮助字符串。AC_SUBST创建或者重新赋值一个automake变量。AC_CONFIG_FILES生成相应的Makefile文件不同目录下通过空格分隔。AC_OUTPUT建议使用AC_CONFIG_FILES替代之。 8AC_DEFINE 格式 AC_DEFINE(VARIABLE, VALUE, DESCRIPTION) 输出宏定义到config.h中。 9AC_CHECK_HEADERS 格式AC_CHECK_HEADERS(HEADERS…) 检查头HEADERS并且给每一个发现的头文件定义#define HAVE_HEADER_H 例如 AC_CHECK_HEADERS([unistd.h windows.h])这个宏将在当前建造环境下检查unistd.h,windows.h是否存在。并将两个参数写入到配置头文件中。一般是config.h你可以使用AC_CONFIG_HEADERS([headers])来指定。 AC_CONFIG_HEADERS([config.h])如果存在就会出现在config.h中例如下面: /* Define to 1 if you have the unistd.h header file. */ #define HAVE_UNISTD_H 1/* Define to 1 if you have the windows.h header file. */ #define HAVE_WINDOWS_H 110 AC_CONFIG_FILES 格式AC_CONFIG_FILES([Makefile sub/Makefile]) 写入Makefile.am和sub/Makefile.am文件 11 AC_CHECK_FUNC 格式 AC_CHECK_FUNCS (function…, [action-if-found], [action-if-not-found]) 检查函数是否存在如果存在执行动作action-if-found没有发现执行动作action-if-not-found。 如果你没给出action-if-found和action-if-not-found在发现函数的时候会定义对应的变量以HAVE_开头函数的名称都转换成大写。例如 AC_CHECK_FUNCS(perror gettimeofday clock_gettime memset socket getifaddrs freeifaddrs fork)如果发现clock_gettime将会定义变量 #define HAVE_CLOCK_GETTIME 1 在对应的配置头文件中。 如果没发现将不会定义。但是也会有一个注释行 /* #undef HAVE_CLOCK_GETTIME*/ 12AC_ARG_WITH 格式 AC_ARG_WITH (package, help-string, [action-if-given], [action-if-not-given]) 这个宏可以给configure增加 –with-package 这样模式的参数。很多软件都有可选项用来打开扩展功能AC_ARG_WITH就是干这个的。它的第一参数给出扩展包的名称出现在–with-后面。第二个参数给出一个参数说明用在./configure –help中。[action-if-given]如果有该选项就被执行[action-if-not-given]如果没有加这个选项就执行。 例如 AC_ARG_WITH([militant],[AS_HELP_STRING([--with-militant],[Enable militant API assertions])],[zmq_militantyes],[])if test x$zmq_militant xyes; thenAC_DEFINE(ZMQ_ACT_MILITANT, 1, [Enable militant API assertions]) fiAS_HELP_STRING([–with-militant], [Enable militant API assertions]) 定义一个帮助字串将在configure –help中被显示出来。 它可以这么使用configure –with-militant这导致zmq_militant”yes”被执行随后通过下面的if语句在config.h中定义一个宏 #define ZMQ_ACT_MILITANT 1。 13 AC_ARG_ENABLE 格式AC_ARG_ENABLE (feature, help-string, [action-if-given], [action-if-not-given]) 这个宏可以为configure增加–enable-feature 或者 –disable-feature这样的选项。如果configure中加了给定的选项就执行action-if-given否则执行action-if-not-given。 例如 AC_ARG_ENABLE([eventfd],[AS_HELP_STRING([--disable-eventfd], [disable eventfd [defaultno]])],[zmq_enable_eventfd$enableval],[zmq_enable_eventfdyes])if test x$zmq_enable_eventfd xyes; then# Check if we have eventfd.h header file.AC_CHECK_HEADERS(sys/eventfd.h,[AC_DEFINE(ZMQ_HAVE_EVENTFD, 1, [Have eventfd extension.])]) fi 14 共享库和静态库 编译动态库或者静态库你需要在你的configure.ac中加入下面的宏 LT_PREREQ([2.4.0]) LT_INIT([disable-static win32-dll dlopen]) AC_PROG_LIBTOOLLT_PREREQ给出一个版本需求检查。LT_INIT可以实现一些配置例如win32-dll允许建造动态库disable-static默认关闭静态库的建造。默认动态库和静态库是同时打开的。 AC_PROG_LIBTOOL检查libtool脚本。做完这些在你的configure中会增加一些选项–enable-static , –enable-shared。 细节参数可以看 libtool 官方文档 2.4 生成aclocal.m4文件 直接执行aclocal命令即可生成该文件 aclocalaclocal.m4是一个宏定义文件该文件内容的生成依赖于configure.ac文件。aclocal会根据confgure.ac文件的内容搜索本地的m4文件通常在类似目录下面/usr/share/aclocal-1.15/然后生成一个在本目录下面使用的aclocal.m4文件。 2.5 生成config.h.in文件 该文件的生成比较简单直接在命令行执行如下命令即可 autoheader这个文件是一个模板文件后面会利用该文件生成config.h文件。该文件包含一些宏定义。 2.6 生成Makefile.in文件 生成Makefile.in文件之前需要手动创建一个 Makefile.am 文件该文件用于描述源文件与目标文件的关系。本文对应的Makefile.am文件如下所示 #AUTOMAKE_OPTIONSforeign bin_PROGRAMSmain main_SOURCESmain.c hello.c hello.h1AUTOMAKE_OPTIONS 设置Automake的选项。由于GNU对自己发布的软件有严格的规范比如必须附带许可证声明文件COPYING等否则Automake执行时会报错。Automake提供了3种软件等级foreign、gnu和gnits供用户选择默认等级为gnu。本例使用foreign等级它只检测必须的文件。 2bin_PROGRAMS 定义要产生的执行文件名。如果要产生多个执行文件每个文件名用空格隔开。 3hello_SOURCES 定义”main”这个执行程序所需要的原始文件。如果”main”这个程序是由多个原始文件所产生的则必须把它所用到的所有原始文件包括头文件都列出来并用空格隔开。例如若目标体”main”需要”main.c”、”hello.c”、”hello.h”两个依赖文件则定义main_SOURCESmain.c hello.c hello.h。 可以看出该文件非常简单这比写一个Makefile要简单的多。 运行下面命令生成Makefile.in automake --add-missing加上–add-missing参数后会补全缺少的脚本。 1错误 zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ automake --add-missing configure.ac:8: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see: configure.ac:8: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation configure.ac:11: installing ./compile configure.ac:8: installing ./install-sh configure.ac:8: installing ./missing Makefile.am: installing ./INSTALL Makefile.am: error: required file ./NEWS not found Makefile.am: error: required file ./README not found Makefile.am: error: required file ./AUTHORS not found Makefile.am: error: required file ./ChangeLog not found Makefile.am: installing ./COPYING using GNU General Public License v3 file Makefile.am: Consider adding the COPYING file to the version control system Makefile.am: for your code, to avoid questions about which license your project uses Makefile.am: installing ./depcomp zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ 1分析修改 因为上面Makefile.am文件里面将第一行AUTOMAKE_OPTIONS的设置屏蔽了默认是gnu而gnu有标准的软件发布规范所以需要相应的文件这里我们可以打开第一行的设置更换规范检测配置或者手动暂时创建需要的文件也行下面是手动创建的方式手动创建需要的文件需要这几个文件是正规软件发布需要的 touch NEWS README AUTHORS ChangeLog再次执行automake就可以成功生成Makefile.in文件了。如果要生成多个目标文件需要在这里写多个源文件与目标文件的对应关系。这种情况是非常常见的比如一些复杂的项目中通常会包含主程序测试程序动态库等等。 2.7 生成configure文件 上述文件都生成后就可以生成configure文件了。该文件是用于生成Makefile的一个脚本。我们在很多开源项目中肯定都遇到过。在开源项目中通常都有一个生成好的configure文件我们只需要执行该文件就可以生成Makefile。 生成configure文件的方法很简单我们执行如下命令即可 autoconf至此我们完成了生成Makefile的所有准备工作。 2.8 生成Makefile文件 在该目录下面运行configure脚本即可生成Makefile文件。 ./configurelog: zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands2.9 编译和测试 直接执行make即可 zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ make make all-am make[1]: Entering directory /home/zl/vstdio-workspace/configure-project/configure-learn gcc -DHAVE_CONFIG_H -I. -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c mv -f .deps/main.Tpo .deps/main.Po gcc -DHAVE_CONFIG_H -I. -g -O2 -MT hello.o -MD -MP -MF .deps/hello.Tpo -c -o hello.o hello.c mv -f .deps/hello.Tpo .deps/hello.Po gcc -g -O2 -o main main.o hello.o make[1]: Leaving directory /home/zl/vstdio-workspace/configure-project/configure-learn测试log zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ ./main paramters not enough zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ ./main 1 hello world! zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ ./main 5 no hello2.10 最终工程目录结构 zlzl-Lenovo:~/vstdio-workspace/configure-project$ tree configure-learn/ configure-learn/ ├── aclocal.m4 ├── AUTHORS ├── autom4te.cache │ ├── output.0 │ ├── output.1 │ ├── requests │ ├── traces.0 │ └── traces.1 ├── autoscan.log ├── ChangeLog ├── compile - /usr/share/automake-1.15/compile ├── config.h ├── config.h.in ├── config.log ├── config.status ├── configure ├── configure.ac ├── COPYING - /usr/share/automake-1.15/COPYING ├── depcomp - /usr/share/automake-1.15/depcomp ├── hello.c ├── hello.h ├── hello.o ├── INSTALL - /usr/share/automake-1.15/INSTALL ├── install-sh - /usr/share/automake-1.15/install-sh ├── main ├── main.c ├── main.o ├── Makefile ├── Makefile.am ├── Makefile.in ├── missing - /usr/share/automake-1.15/missing ├── NEWS ├── README └── stamp-h11 directory, 33 files2.11 打包 make dist运行make dist命令当前目录下会出现 main-1.0.0.tar.gz这个文件名跟configure.ac里面的配置有关里面的文件也跟 Makefile.am 文件有关如果打包之后到别的目录解压编译出现问题少文件的话多是 Makefile.am 没有正确设置 xxxx_SOURCES。 打包之后到别的目录重新解压目录结构如下 main-1.0.0 ├── aclocal.m4 ├── AUTHORS ├── ChangeLog ├── compile ├── config.h.in ├── configure ├── configure.ac ├── COPYING ├── depcomp ├── hello.c ├── hello.h ├── INSTALL ├── install-sh ├── main.c ├── Makefile.am ├── Makefile.in ├── missing ├── NEWS └── README0 directories, 19 files3 扩展 3.1 config.h中定义一个宏 比如在config.h中定义一个宏 HAVE_TEST为1 1修改configure.ac添加如下代码 AC_DEFINE([HAVE_TEST], [1],[Define to 1 if you have the test function.])2运行autoheader重新生成config.h.in文件 3运行autoconf重新生成configure文件 4重新运行 ./configure更新config.h文件 3.2 autoreconf生成Makefile 3.2.1图析 3.2.2详解 源文件创建之后configure.ac修改完并创建Makefile.am文件以及正规发布需要的README文件等目录结构如下 configure-learn ├── AUTHORS ├── autoscan.log ├── ChangeLog ├── configure.ac ├── hello.c ├── hello.h ├── main.c ├── Makefile.am ├── NEWS └── README0 directories, 10 files1.运行autoreconf命令 autoreconf -ifzlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ ls AUTHORS autoscan.log ChangeLog configure.ac hello.c hello.h main.c Makefile.am NEWS README zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ autoreconf -if configure.ac:8: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see: configure.ac:8: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation configure.ac:17: installing ./compile configure.ac:8: installing ./install-sh configure.ac:8: installing ./missing Makefile.am: installing ./INSTALL Makefile.am: installing ./COPYING using GNU General Public License v3 file Makefile.am: Consider adding the COPYING file to the version control system Makefile.am: for your code, to avoid questions about which license your project uses Makefile.am: installing ./depcomp zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$ ls aclocal.m4 autom4te.cache ChangeLog config.h.in configure.ac depcomp hello.h install-sh Makefile.am missing README AUTHORS autoscan.log compile configure COPYING hello.c INSTALL main.c Makefile.in NEWS zlzl-Lenovo:~/vstdio-workspace/configure-project/configure-learn$项目目录下会多出m4文件config.h.in文件Makefile.in文件configure脚本compile脚本depcomp脚本等文件。 2.运行configure命令 ./configure直接在Ubuntu上运行的话这样是可以的但是实际开发中会涉及一些arm系统之类的这个时候我们可能就需要设置一些参数。譬如enbale/disbale一些特性设置交叉编译平台例如–hostlinux-mips设置编译安装目录例如–prefixpath_to_your_build_directory具体可以查看help信息 。 3.运行make 生成可执行文件运行文件测试即可。 3.3 工程发布 结合 “3.2 autoreconf生成Makefile” 的方法其实3.2操作前的工程就是可供发布的工程其他人拿到之后按照3.2的步骤即可。发布工程参考目录如下 configure-learn ├── AUTHORS ├── autoscan.log ├── ChangeLog ├── configure.ac ├── hello.c ├── hello.h ├── main.c ├── Makefile.am ├── NEWS └── README0 directories, 10 files源文件 ├── hello.c ├── hello.h ├── main.c3.4 文件生成分解图 source files -- [autoscan] -- configure.scan -- configure.ac[acinclude.m4] --.| [local macros] ---- [aclocal] -- aclocal.m4| configure.ac ----configure.ac --.| .------ autoconf ----- configure [aclocal.m4] -----| ----- [autoheader] -- [config.h.in] [acsite.m4] ---config.h.in ---.-- automake -- Makefile.in Makefile.am ---.------------- [config.cache] configure* -------------------------- config.log | [config.h.in] -. v .- [config.h] -.-- config.status -- -- make Makefile.in --- - Makefile ---总结需要项目维护者手动修改的文件除了可选的NEWS README AUTHORS ChangeLog文件之外就是configure.ac文件和每个源码文件夹下的Makefile.am文件了。
http://www.hkea.cn/news/14276997/

相关文章:

  • 公司做的网站费用如何做账有没有免费做英语题的网站
  • 家乡网站建设策划案深圳设计平台
  • 做淘宝图标网站wordpress大前端1.9
  • 谷歌google官方网站编程 朋友 做网站
  • 机关单位网站建设申请app小程序网站开发是什么
  • 中国建设基础设施总公司 网站网页设计企业网站素材库
  • 建设个人网页登陆网站wap网站建设流程
  • 论坛网站建设教程用ps做网站的首页
  • 高端网站建设必去磐石网络网站降权怎么救
  • 长沙做网站建设公司摄影网站官网大全
  • 为什么推荐企业做网站wordpress百度收录插件
  • 家庭宽带做网站服务器吗房地产集团网站模板
  • 金猪云高端网站建设wordpress技术服务
  • 外贸网站怎么规划东莞教育建站
  • 嘉兴城乡建设局门户网站长春火车站到长春机场大巴时刻表
  • 网站建设的背景阿里云免备案服务器
  • 余姚市网站建设网站后台上传图片做难吗?
  • 湖州网站推广监理工程师
  • 网站建设平ppt江苏建筑网站
  • 请人做外贸网站应注意什么李沧网站建设谁家好
  • 数码网站名浅析网站域名在搜索引擎排名中的作用
  • 域名与网站名称的关系网站开发组
  • 济南seo网站排名优化工具2015微信网站开发
  • 域名申请通过了网站怎么做wordpress点击量最多的文章
  • 英语网站排名鄞州区网站建设
  • 做运营需要知道素材网站郑州网站建设seo
  • 怎么开通个人网站广州好的网站设计公司
  • 石家庄建设局官方网站青海住房建设厅网站
  • 网站建设周期规划移动端下拉框价威cj111602推广
  • 上海工程建设安全协会网站学校建设网站报告书