第 25 章 Build tool

简介:


目录

25.1. make - GNU make utility to maintain groups of programs
25.1.1. autoconf - Generate configuration scripts
25.2. CMake
25.2.1. helloworld
25.2.2. cmake_minimum_required
25.2.3. SET
25.2.4. ADD_SUBDIRECTORY
25.2.5. INCLUDE_DIRECTORIES
25.2.6. 编译文件
25.2.6.1. ADD_EXECUTABLE 编译可执行
25.2.6.2. ADD_LIBRARY 编译库文件
25.2.7. EXECUTABLE_OUTPUT_PATH / LIBRARY_OUTPUT_PATH
25.2.8. TARGET_LINK_LIBRARIES
25.2.9. INSTALL
25.3. scons - a software construction tool
25.4. Phing

25.1. make - GNU make utility to maintain groups of programs

Makefile

$ sudo apt-get install make
		

使用make命令测试

25.1.1. autoconf - Generate configuration scripts

autoconf

$ sudo apt-get install autoconf
			

automake

$ sudo apt-get install automake
			

example

过程 25.1. autoconf and automake step by step

  1. create directory

    % mkdir devel
    % cd devel
    % mkdir hello
    % cd hello
    					

    create a file

    vim hello.c
    
      #include
      int main(int argc, char** argv)
      {
      printf(``Hello, GNU!\n'');
      return 0;
      }
    					
  2. autoscan

    neo@debian:~/workspace/devel/hello$ autoscan
    neo@debian:~/workspace/devel/hello$ ls
    autoscan.log  configure.scan  hello.c
    					
  3. configure.in

    cp configure.scan configure.in
    
    neo@debian:~/workspace/devel/hello$ aclocal
    neo@debian:~/workspace/devel/hello$ autoconf
    neo@debian:~/workspace/devel/hello$ ls
    autom4te.cache  autoscan.log  configure  configure.in  configure.scan  hello.c
    					
  4. Makefile.am

    neo@debian:~/workspace/devel/hello$ vim Makefile.am
    neo@debian:~/workspace/devel/hello$ cat Makefile.am
    AUTOMAKE_OPTIONS= foreign
    bin_PROGRAMS= hello
    hello_SOURCES= hello.c
    neo@debian:~/workspace/devel/hello$
    					

    $ automake --add-missing
    configure.in: no proper invocation of AM_INIT_AUTOMAKE was found.
    configure.in: You should verify that configure.in invokes AM_INIT_AUTOMAKE,
    configure.in: that aclocal.m4 is present in the top-level directory,
    configure.in: and that aclocal.m4 was recently regenerated (using aclocal).
    automake: no `Makefile.am' found for any configure output
    automake: Did you forget AC_CONFIG_FILES([Makefile]) in configure.in?
    				




原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

目录
相关文章
|
4月前
解决运行qmake:Project ERROR: Cannot run compiler ‘cl‘. Output:
解决运行qmake:Project ERROR: Cannot run compiler ‘cl‘. Output:
117 0
|
C++ iOS开发
报错解决:Could not build wheels for soxr, which is required to install pyproject.toml-based projects(可用)
链接如下:【金山文档】 1-Microsoft Visual C++ Build Tools。找了好久,才找到正确的解决方案,网上一大堆升级setuptools的方法只对少数人管用。注意,虽然我的这个报错内容有点长,但是我感觉和其它的。如果网页提示登录,可以不用登录,直接下载即可。然后打开镜像ios文件(双击即可)错误是一样的解决方案。文件,打开后安装即可。
2349 1
报错解决:Could not build wheels for soxr, which is required to install pyproject.toml-based projects(可用)
|
Android开发
Migrate Project to Gradle? This project does not use the Gradle build system
Migrate Project to Gradle? This project does not use the Gradle build system
78 0
|
开发工具
Failed to find Build Tools revision 25.0.2
Failed to find Build Tools revision 25.0.2
79 0
|
Java API Kotlin
Gradle Writing Build Scripts
The Gradle build language Gradle 构建语言 Gradle 提供了一种领域特定语言(DSL)来描述构建,这种构建语言在 Groovy 和 Kotlin 都可以使用。 Groovy 构建脚本可以包含任何 Groovy 语言元素。 Kotlin 构建脚本可以包含任何 Kotlin 语言元素。 Gradle 假设每个构建脚本都使用 UTF-8进行编码。
104 0
|
开发工具 Android开发
Failed to find Build Tools revision 28.0.3
Failed to find Build Tools revision 28.0.3
227 0
Failed to find Build Tools revision 28.0.3
|
API 开发工具 Android开发
Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.
Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.
790 0
Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.
|
Android开发
ERROR: Could not install Gradle distribution from ‘https://services.gradle.org/distributions/gradle
ERROR: Could not install Gradle distribution from ‘https://services.gradle.org/distributions/gradle
1423 0
ERROR: Could not install Gradle distribution from ‘https://services.gradle.org/distributions/gradle
dpkg-checkbuilddeps: error: Unmet build dependencies: build-essential:native
dpkg-checkbuilddeps: error: Unmet build dependencies: build-essential:native
648 0
|
Java Maven Android开发
how does eclipse know what tasks it should do when we select Maven build
how does eclipse know what tasks it should do when we select Maven build
90 0
how does eclipse know what tasks it should do when we select Maven build

热门文章

最新文章