首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用GNU autotools为"make check"创建测试

您好!感谢您的提问。

GNU Autotools是一个自动化构建和安装软件的工具集,它包括autoconf、automake、autoheader、libtool等工具。使用这些工具,可以方便地为软件创建测试。

要使用GNU Autotools为"make check"创建测试,您需要遵循以下步骤:

  1. 安装GNU Autotools。您可以使用您的Linux发行版的包管理器来安装它们,例如:
代码语言:txt
复制
sudo apt-get install autoconf automake libtool
  1. 创建一个名为"configure.ac"的文件,其中包含您的项目的配置信息。例如:
代码语言:txt
复制
AC_INIT([myproject], [1.0])
AC_CONFIG_SRCDIR([src/main.c])
AC_CONFIG_HEADER([config.h])

AC_PROG_CC
AC_PROG_RANLIB

AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT
  1. 创建一个名为"Makefile.am"的文件,其中包含您的项目的构建规则。例如:
代码语言:txt
复制
AUTOMAKE_OPTIONS = foreign

bin_PROGRAMS = myproject
myproject_SOURCES = src/main.c src/other.c

check_PROGRAMS = myproject_test
myproject_test_SOURCES = test/test.c
myproject_test_LDADD = myproject
  1. 创建一个名为"test/test.c"的文件,其中包含您的测试代码。例如:
代码语言:txt
复制
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
#include <unistd.h>
#include "config.h"

int main(int argc, char **argv) {
    // Your test code here
    return 0;
}
  1. 运行autoconf和automake来生成Makefile和其他必要的文件。例如:
代码语言:txt
复制
autoreconf -i
automake --add-missing
  1. 编译和安装您的项目。例如:
代码语言:txt
复制
./configure
make
sudo make install
  1. 运行"make check"来执行测试。例如:
代码语言:txt
复制
make check

这将运行您的测试代码,并将结果输出到控制台。

希望这些信息能够帮助您使用GNU Autotools为"make check"创建测试。如果您有任何其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

autotools及Yocto下通过autotools编译

首先我们创建一个测试代码main.c,通过简单的例子来说明autotools使用流程,源文件内容如下: #include int main(int argc, char *argv...此处当前目录下main.c。 AC_CONFIG_HEADER宏用于生成config.h文件,以便 autoheader 命令使用。...默认级别是gnu. 在本例中, 使用了foreign等级, 它只检测必须的文件。 bin_PROGRAMS = rice:生成的可执行文件名称,生成多个可执行文件,可以用空格隔开。...rice@rice:~/rice-autotools$ make make all-am make[1]: Entering directory '/home/tym/rice-autotools/temp.../rice Rice Autotools!!! rice@rice:~/rice-autotools$ 上述的内容是在ubuntu上进行操作的,接下来我们说说如何在arm架构的板子进行运行。

1.5K20
  • Autotools -- 自动编译链工程构建

    Autotools – 自动编译链 简介 虽然现在cmake,qmake 或者 ide的功能越来越强大,也越来越简洁。但是在日常使用中,庞大的开源库,autoconfig 还是占据大半壁江山。...Makefile.am编写 从Demo的文件目录看,双层目录,server目录即常说的 top-lever ,顶层目录。第二层目录,bin之前的输出目录也配置文件目录,src源码目录。.../configure make make install make dist make distclean make distcheck 到此一个简单的 autotools 标准工程模板就完成了。...根据自己需求创建就可以了。 算是有一个简单的只是get了。...附件 autotools的详细使用 Linux下autoTools工具集使用介绍 autotools使用 GNU构建系统和AutoTools Makefile.am编写规则

    76920

    cmake快速入门「建议收藏」

    一、为何要使用项目构建工具? 为何要使用cmake和autotools之类的项目构建工具? 我想,这恐怕是刚刚接触软件项目的人最应该问的问题之一了。 “Hello, world!...任何一个软件项目,除了写代码之外,还有一个更为重要的任务,就是如何组织和管理这些代码,使项目代码层次结构清晰易读,这对以后的维护工作大有裨益。...因此,对于大多数项目,应当考虑使用更自动化一些的 cmake或者autotools来生成makefile,而不是上来就动手编写。...build二进制目录,然后点击configure即可开始构建,之后进入build目录运行make命令编译。.... – The C compiler identification is GNU – The CXX compiler identification is GNUCheck for working

    1.1K60

    CMake 秘籍(八)

    创建顶层 CMakeLists.txt 作为开始,我们在源代码仓库的根目录中创建一个顶级的CMakeLists.txt,在其中设置最小 CMake 版本、项目名称和支持的语言,在本例中 C: cmake_minimum_required...1 -O2 使用 GNU C 编译器。...make VERBOSE=1验证构建是否使用了预期的标志。...移植测试 现在让我们讨论如何测试从参考构建移植到我们的 CMake 构建。 开始 如果正在移植的项目包含测试目标或任何形式的自动化测试测试脚本,第一步将再次是运行传统的测试步骤并记录使用的命令。...其次,测试添加COST估计,以便在并行运行时,较长的测试首先启动,以最小化总测试时间(参见第四章,创建和运行测试,第 8 个配方,并行运行测试)。

    16510

    【Linux】《how linux work》第十六章 从 C 源代码编译软件入门

    your knowledge to other build systems.在本章中,我们将着眼于编译和安装C源代码,只使用这些构建系统中的一个——从GNU autotools套件生成的配置脚本。...接下来,尝试运行你刚刚创建的可执行文件之一,比如 ./src/ls,然后尝试运行 make check 来对该软件包运行一系列测试。(可能需要一段时间,但很有趣。)...使用 --pkgname=name 选项你的新包指定一个特定的名称。...make check 一些软件包附带一系列测试来验证编译后的程序是否正常工作;make check 命令会运行这些测试。...For GNU autoconf packaging, Autotools by John Calcote (No Starch Press, 2010) can help you out. o 你自己的软件设置构建

    8910

    CMake vs Make对比

    这个makefile列出了每个非源文件以及如何从其他文件中计算它。编写程序时,应该为其编写一个makefile,以便可以使用Make”来构建和安装程序。简单的东西!...“Make”不仅限于构建一个包。您还可以使用Make”来控制安装或卸载软件包,其生成标签表, CMake的 CMake代表跨平台制作。CMake识别哪个编译器用于给定类型的源。...我们将在这里跳入GNU构建系统领域。如果你不熟悉,这一段可能看起来像是jibber-jabber给你。好的,现在我给了法定的警告,我们继续吧!我们可以比较CMake和Autotools。...当我们这样做时,我们可以看到Make的缺点,它们构成了Autotools创建的原因。我们还可以看到CMake对Make的明显优势。...CMake不仅仅是“make”,所以它可以更复杂。从长远来看,最好是学习如何使用它。如果只在一个平台上只有一个小项目,那么也许“Make”可以做得更好。

    4K31

    xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持

    通过这个安装包,我们编译开发 C 程序就可以完全摆脱臃肿的 vs 开发环境(好几个 G),实现一键安装,开箱即用,对于我们平常刷刷 leetcode,写点 C 测试代码还是非常有用的,没必要为此特定安装整个...Compiler Collection mingw Minimalist GNU for Windows gnu-rm GNU Arm Embedded Toolchain.../configure; make 来编译。...而不需要关心 autotools/cmake 需要如何去配置使用和编译,毕竟 cmake 对于 windows 和 linux 平台,需要生成不同的构建文件,编译方式也是不同的,一会调用 make,一会调用...改进远程依赖包的集成 交叉编译支持 xmake 不仅对 trybuild 支持了 mingw/autotools 的交叉编译支持,还对远程包仓库中使用 cmake/autotools 维护的第三方也支持上了交叉编译安装和集成

    1.3K10

    如何使用 Element 初学者创建和销售 NFT

    (请在网页浏览器中完成以下所有操作,推荐使用谷歌浏览器) 首先,连接您的个人钱包 - 打开 Element (https://www.element.market/),点击右上角的「创建 NFT」按钮...■步骤 1 创建您的第一个 NFT - 点击「创建」按钮上传您的 NFT 步骤 2 完成您的 NFT 描述 -一个ñ吸收和NFT的完整描述,包括「名」和「说明」,有助于你未来的买家了解其背景。...- 收藏集完成后,点击「创建」生成您的 NFT,现在您的作品就可以浏览了。 ■步骤 6 启动 - 创建的 NFT 选择“设置价格”或“最高出价”,选择您想要接收的货币类型并为其设置一定的价格。...关于版税和收藏设置 收藏设置允许您您的 NFT 设置最高 10% 的版税,以便您可以在收藏下的所有未来二级交易中获得此百分比的售价。具体操作如下: 单击“我的收藏”并选择要调整的收藏。...特许权使用小于10%的任意数字(可保留小数点后两位)。应在任何地址接受版税。 此外,您还可以对“收藏头像”、“自定义链接”、“支付代币”、“添加链接”等进行更细致的设置,完善您的收藏。

    1K30

    C++ 编译体系入门指北

    对C++的编译体系是如何发展的,为什么要用CMake,它的运作原理是如何的比较感兴趣,所以就想系统学习一下,特此整理本篇文章作为入门指引。...GCC 编译流程 GCC,全称GNU Compiler Collection(GNU编译器套件),是由GNU项目开发的一款编译器软件,可以编译多种编程语言,包括C、C++、Objective-C、Fortran...生成的汇编代码文件通常以.s后缀。 汇编(Assemble):汇编器将汇编代码转换为机器代码,生成目标文件。...Autotools 和 CMake 随着项目规模的扩大和复杂性的增加,构建系统如 Autotools 和 CMake 开始流行。这些工具帮助开发者自动化构建过程,但它们并不是包管理器。...它支持多种构建系统(如 CMake、Autotools、MSBuild 等),并且可以与 CI/CD 管道集成。

    50521

    cmake终极奥义

    ,得到 Makefile 后再使用 make 命令编译得到 Demo1 可执行文件。.... -- The C compiler identification is GNU 4.8.5 -- The CXX compiler identification is GNU 4.8.5 -- Check...3、清理工程: 跟经典的autotools系列工具一样,运行: make clean 即可对构建结果进行清理 四、内部构建 与 外部构建 上面的例子展示的是“内部构建”,相信看到生成的临时文件比你的代码文件还要多的时候...CMake 允许项目增加编译选项,从而可以根据用户的环境和需求选择最合适的编译方案。 例如,可以将 calc 库设为一个可选的库,如果该选项 ON ,就使用该库定义的函数来进行运算。...第16行的 option 命令添加了一个 USE_MYCALC选项,并且默认值 ON 。 第20行根据 USE_MYCALC变量的值来决定是否使用我们自己编写的 calc库。

    1.3K20

    如何使用AutoHarness自动化创建模糊测试工具

    对于更加智能的模糊测试工具来说,想要达到那个代码路径都是非常困难的,有时甚至都不可能到达。对于更加大型的模糊测试项目,例如oss-fuzz,仍然会有部分代码无法被覆盖到。...工具安装 该程序利用llvm和clang(libfuzzer、Codeql)来寻找代码中的函数,并使用了Python来生成模糊测试工具。...首先,我们需要使用下列命令来初始化AutoHarness的安装: sudo apt-get update; sudo apt-get install python3 python3-pip llvm-12...最后,使用下列命令将项目源码克隆至本地: git clone https://github.com/parikhakshat/autoharness.git 工具使用 下面的例子中,我们对运行在Nginx...计划添加的功能 结构化模糊测试 实现基于Harness的创建功能 并行模糊测试/假阳性检测 项目地址 AutoHarness:【点击阅读原文】 参考资料 https://lief.quarkslab.com

    93710

    抛弃 Autotools 向 CMake 迈进吧

    使用 CMake,你只需要知道将哪些文件安装到哪个常规位置即可。它会照顾其他一切。不再需要自定义安装脚本,它们有可能在任何未经测试的操作系统上失败。...打包 像 Autotools 一样,CMake 也得到了很好的打包支持。...如何使用 CMake 要在项目中使用 CMake,只需在项目目录中创建 CMakeLists.txt 文件。首先,声明最低要求的 CMake 版本以及项目名称和版本。...你可以通过在 CMAKE_CURRENT_BINARY_DIR 中指定一个新的目录,使用你选择的项目名称,后面跟一个你的项目命名的特殊变量和你在项目声明中它设置的 VERSION。...is GNU 11.1.1 -- The CXX compiler identification is GNU 11.1.1 -- Detecting C compiler ABI info -- Detecting

    42120
    领券