makefile相关内容

如何在 Makefile 中编写循环?

我想执行以下命令: ./a.out 1./a.out 2./a.out 3./a.out 4...等等 如何在Makefile中将这个东西写成一个循环? 解决方案 如果,正如我假设您使用 ./a.out,您在 UNIX 上,以下将执行此操作-类型平台. for number in 1 2 3 4 ;做 \./a.out $$number ;\完毕 测试如下: 目标:对于 1 2 ..
发布时间:2021-12-08 23:42:16 其他开发

在一个 Eclipse 项目中构建多个二进制文件

如何让 Eclipse 在一个项目中一次构建多个二进制文件(无需手动编写 Makefile)? 我有一个 CGI 项目,该项目导致 Web 服务器运行多个 .cgi 程序,以及它们使用的几个库.用于构建它的手工 Makefile 慢慢变得不可维护.我们使用 Eclipse 的“内部构建"来构建所有其他项目,我们也更喜欢在这里使用它,但为了我的利益,我找不到如何让 Eclipse 构建多个小程 ..
发布时间:2021-12-06 15:10:19 C/C++开发

如何安装和使用“make"在 Windows 中?

我正在按照某人的说明将其存储库克隆到我的机器上.我想要的很简单:能够使用 make 命令作为设置代码环境的一部分,但我使用的是 Windows.网上查了一下,只能找到一个make.exe文件,一个make-4.1.tar.gz文件(不知道下一步怎么办) 以及有关如何下载 MinGW 的说明(适用于 GNU;但在安装后我没有发现任何提及“make"的内容). 如何在没有 GNU 编译器或相关软 ..
发布时间:2021-12-05 19:27:03 其他开发

Makefile 与不同目录中的源文件

我有一个项目,目录结构是这样的: $projectroot|+--------------+----------------+|||第1部分/第2部分/第3部分/|||+------+-----+ +---+----+ +---+-----+|||||||数据/src/inc/src/inc/src/inc/ 我应该如何编写一个可以在部分/src(或任何地方)中完成/链接到部分 c/c++ ..
发布时间:2021-12-03 13:32:17 服务器开发

具有多个可执行文件的 Makefile

我正在尝试编写一个 makefile,它使用宏一次从多个文件创建多个可执行文件.我尝试搜索以前回答过的问题,但由于我对 C 编程以及使用 gcc 相当陌生,所以我无法找到我的问题的答案. 这是我目前所拥有的: CC=gccCFLAGS=-I.OBJ = ex1.c ex3.c可执行 = ex1 ex3$(可执行):$(OBJ)gcc -o $@ $^ $(CFLAGS)干净的:rm -f ..
发布时间:2021-12-02 08:20:24 其他开发

使用 G++ 编译多个 .cpp 和 .h 文件

我刚刚继承了一些用一个 cpp 文件编写的糟糕的 C++ 代码,该文件包含主函数和一堆其他函数.还有 .h 文件包含类及其函数定义. 到目前为止,程序是使用命令g++ main.cpp 编译的.现在我已经将类分离为 .h 和 .cpp 文件,我是否需要使用 makefile 或者我仍然可以使用 g++ main.cpp 命令? 解决方案 列出 main.cpp 之后的所有其他 cpp ..
发布时间:2021-12-01 15:42:42 C/C++开发

Autoconf/Automake 条件和 dist 规则

我最近开始在我正在从事的项目中使用 autoconf 和 automake.该项目的文档是用 LaTeX 编写的.由于我不想将 LaTeX 作为依赖项,我想使用 autoconf 检查 pdflatex 二进制文件的存在,然后在 Makefile.am 中使用该信息来决定是简单地将 .tex 文件复制到文档目录,还是生成 PDF 并复制两者. 这是 configure.ac 中的相关部分: ..
发布时间:2021-11-30 19:14:25 其他开发

PHP 的默认配置是什么?

在通过 tasksel 进行标准 LAMP 安装时设置的默认 PHP --configure 标志是什么?我必须重新编译 PHP 以包含我伙伴的进程控制,但我无法找到所有“默认"标志的列表. 解决方案 你可以做 php -i |grep config -i 这应该返回 taskel 使用的配置. 备份你的php.ini,然后再重新编译... PS:您可能需要下载PHP源代码进行 ..
发布时间:2021-11-30 19:12:21 PHP

使用 GCC 和 autotools 为单个源文件设置编译标志的最佳方法是什么?

我需要使用 autotools 禁用单个文件的优化标志.最好的方法是什么? 解决方案 你是说一个单独的源文件还是一个单独的可执行文件? 禁用可执行文件优化很简单: bin_PROGRAMS = myprogmyprog_SOURCES = foo.c bar.cmyprog_CFLAGS = -O0 如果您的意思是要暂时禁用对单个源文件的优化,例如出于调试目的,您可以在提示符下重 ..
发布时间:2021-11-30 19:11:45 其他开发

Autotools 库和目标文件输出控制

我的目标是将所有目标文件构建在 .objs 目录而不是 Makefile 的根目录中,并将二进制文件(和库)复制到项目的 bin/ 目录中.但我一直无法找到任何资源来解释如何做到这一点.我该怎么做? 这是我的 configure.ac 和 src/Makefile.am - 我有两个引用的共享库的类似 Makefile.am 文件.它们进行编译,并在将它们复制到 bin/ 目录后正常工作.我 ..
发布时间:2021-11-30 19:10:32 其他开发

关于如何部署 C++ 代码以在任何地方工作的提示

我不是在谈论制作可移植的代码.这更多是一个分配问题.我有一个中型项目.它对公共库(例如 openssl、zlib 等)有几个依赖项.它在我的机器上编译得很好,现在是时候将它提供给全世界了. 本质上以最好的方式构建工程.我想为 Windows、Linux、MacOSX 等制作安装程序.我想制作一个可下载的 tar 球,使代码可以与 ./configure 和 make 一起使用(可能通过 au ..
发布时间:2021-11-30 19:08:02 C/C++开发

configure.ac 和 configure.in 和 Makefile.am 和 Makefile.in 之间有什么区别吗?

我已经在我配置的不同事物中看到了两者.我有什么区别?仅使用一个是否值得注意?或者用哪一个都无所谓? 解决方案 configure.ac 和 configure.in 是主 Autoconf 源文件的两个可能名称,它们分别是由 autoconf 处理以生成 configure shell 脚本.configure.ac 是新包的首选,configure.in 是一个仍然有效的旧名称.(.in ..
发布时间:2021-11-30 19:07:54 其他开发

将二进制文件安装到/bin、/sbin、/usr/bin 和/usr/sbin,与 --prefix 和 DESTDIR 交互

大多数使用 Autotools 的软件包是用户级实用程序或至少足够高的级别以完全位于 /usr 下,或者足够低以完全低于 /usr. 我正在编写一个包,需要将一些文件安装到 /bin,一些安装到 /sbin,/usr/bin 和 /usr/sbin.它正在替换传统上放置在这些位置下的几个现有二进制文件. 它还需要在/lib/security中安装一个PAM模块(显然/usr/lib/s ..
发布时间:2021-11-30 19:06:17 服务器开发

使用 autoconf/automake,如何指定包含文件路径?

假设我想让生成的 makefile 将一些特定的头文件路径传递给 g++. 我需要向 configure.ac 或 Makefile.am 添加什么来指定这一点? (注意 - 我不想使用 ./configure 在 CPPFLAGS 中传递它.我希望在该步骤之前烘焙这些路径) 编辑:具体来说,我想包括假设/usr/include/freetype 和/mypath/include ..
发布时间:2021-11-30 19:05:26 其他开发

autotools:强制 make 不重建 configure/Makefile

我有一个使用 autotools 的项目:automake、autoconf. 我想禁止make重新制作文件configure、Makefile.in等;只是为了做编译工作. 有些文件是手工编辑的,我知道我不应该这样做.(或者项目是从 CVS 更新的,所有生成的文件都存储在 CVS 中).但目前我没有安装正确版本的自动工具. 这个文件的修改时间(必须是新的/旧的): acloc ..
发布时间:2021-11-30 19:04:56 其他开发

使用autotools构建时如何生成源文件

使用 Make,我可以做类似的事情 generated.c: input.txt 生成器./generator input.txt >生成文件 我如何从自动工具中获得等效的功能?(在清理时删除 generate.c 也是一个奖励). 解决方案 我假设 input.txt 是一个已分发的源文件,您不> 想要分发generated.c(即必须由每个用户构建),并且那个generator也是 ..
发布时间:2021-11-30 19:03:47 其他开发

对配置脚本和 Makefile.in 感到困惑

我目前正在学习如何使用 autoconf/automake 工具链.我似乎对这里的工作流程有一个大致的了解 - 基本上你有一个 configure.ac 脚本,它生成一个可执行的 configure 文件.生成的 configure 脚本然后由最终用户执行以生成 Makefile,因此可以构建/安装程序. 因此,典型最终用户的安装基本上是: ./configure制作进行安装清洁 好的, ..
发布时间:2021-11-30 19:03:07 其他开发

如何添加 include 和 lib 路径来配置/制作循环?

我需要一个地方在我没有 su 访问权限的 linux 机器中安装库.我正在使用 ~/local[/bin,/lib,/include],但我不知道如何告诉 ./configure 在那里查找库(特别是,我正在尝试编译需要 libgif 的 emacs,我的发行版中没有). 我尝试添加 export PATH=$PATH:~/local/bin导出 LD_LIBRARY_PATH=~/loc ..
发布时间:2021-11-30 19:02:58 其他开发