国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

配置軟件源碼包構(gòu)建環(huán)境

EscapedDog / 2259人閱讀

摘要:本文中,我們演示如何創(chuàng)建源碼安裝包,代碼結(jié)構(gòu)如下下面列出關(guān)鍵幾個文件的內(nèi)容,其它文件的內(nèi)容并不是制作源碼安裝包所必需的,所以暫時為空。現(xiàn)在可以使用編譯了生成源碼包遇到的問題缺少必要的文件如果遇到以下錯誤就創(chuàng)建這個文件最新文章請?jiān)L問這里

本文中,我們演示如何創(chuàng)建源碼安裝包:amhello-1.0.0.tar.gz,代碼結(jié)構(gòu)如下:

MacBook:amhello sam$ tree
.
├── AUTHORS
├── COPYING
├── ChangeLog
├── Makefile.am
├── NEWS
├── README
└── src
    ├── Makefile.am
    └── main.c

1 directory, 8 files

下面列出關(guān)鍵幾個文件的內(nèi)容,其它文件的內(nèi)容并不是制作源碼安裝包所必需的,所以暫時為空。

本文用到的初始代碼可以在這里下載。

Makefile.am

MacBook:amhello sam$ cat Makefile.am
SUBDIRS = src
dist_doc_DATA = README

src/Makefile.am

MacBook:amhello sam$ cat src/Makefile.am
bin_PROGRAMS = amhello
amhello_SOURCES = main.c

src/main.c

MacBook:amhello sam$ cat src/main.c
#include 
#include 

int main(int argc, const char *argv[]) {
    puts("This is " PACKAGE_STRING ".");
    return 0;
}
生成 configure 腳本

關(guān)鍵流程:

執(zhí)行 autoscan 命令

把 configure.scan 重命名為 configure.ac

編輯 configure.ac 的內(nèi)容

執(zhí)行 autoreconf 命令

執(zhí)行命令:

MacBook:amhello sam$ autoscan
MacBook:amhello sam$ mv configure.scan configure.ac

autoscan 是用于創(chuàng)建和維護(hù)源碼包中 configure.ac 的輔助工具,它會遞歸掃描指定目錄樹中所有的源文件(如果沒有指定目錄則默認(rèn)是當(dāng)前目錄),并自動生成 configure.scan 文件,這個文件需要手動重命名成 configure.ac,并按如下格式修改內(nèi)容:

AC_PREREQ([2.69])

AC_INIT([amhello], [1.0.0])
AM_INIT_AUTOMAKE([subdir-objects])
AC_CONFIG_HEADERS([config.h])

# Checks for programs.
AC_PROG_CC

AC_CONFIG_FILES([
    Makefile
    src/Makefile
])

AC_OUTPUT

生成 configure 腳本:

MacBook:amhello sam$ autoreconf --install
configure.ac:10: installing "./compile"
configure.ac:6: installing "./install-sh"
configure.ac:6: installing "./missing"
Makefile.am: installing "./INSTALL"
src/Makefile.am: installing "./depcomp"

這個命令會生成 configure 腳本。

生成 Makefile 文件

執(zhí)行剛剛生成的 configure 腳本,生成最終的 Makefile 文件:

MacBook:amhello sam$ ./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... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
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 src/Makefile
config.status: creating config.h
config.status: executing depfiles commands

完成后,你可以看到 Makefilesrc/Makefileconfig.h 已自動生成。現(xiàn)在可以使用 make build 編譯了:

MacBook:amhello sam$ make
...
MacBook:amhello sam$ src/amhello
This is amhello 1.0.0.
生成源碼包
MacBook:amhello sam$ make distcheck
...
================================================
amhello-1.0.0 archives ready for distribution:
amhello-1.0.0.tar.gz
================================================
遇到的問題 缺少必要的文件

如果遇到以下錯誤:

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

就創(chuàng)建這4個文件:

touch NEWS README AUTHORS ChangeLog

最新文章請?jiān)L問 這里

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/17397.html

相關(guān)文章

  • 分布式任務(wù)調(diào)度平臺的自動化部署

    摘要:分布式任務(wù)調(diào)度平臺,美團(tuán)點(diǎn)評員工許雪里開發(fā),其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速學(xué)習(xí)簡單輕量級易擴(kuò)展。源碼地址二本文簡介主要是利用成熟的部署工具,結(jié)合開源的分布式任務(wù)調(diào)度框架作為工程,快速搭建自己的持續(xù)集成項(xiàng)目,其他項(xiàng)目可以類似構(gòu)建。 一、概述 1、自動化部署能簡化開發(fā)過程的代碼管理,讓開發(fā)人員把更多的時間專注于業(yè)務(wù)實(shí)現(xiàn), 簡化繁瑣的上線流程和操作步驟,做到項(xiàng)目的快速打包和部署,減少人...

    tomato 評論0 收藏0

發(fā)表評論

0條評論

EscapedDog

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<