Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不使用config.h.in作为模板

不使用config.h.in作为模板
EN

Stack Overflow用户
提问于 2018-01-24 22:15:19
回答 1查看 1.9K关注 0票数 2

我正试图向Autotools提供一个config.h.in。该主题在4.8.1配置头模板的Autoconf手册中进行了介绍。config.h.in看起来是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/// \file config.h
/// \brief Library configuration file

#ifndef CRYPTOPP_CONFIG_H
#define CRYPTOPP_CONFIG_H

// define this if running on a big-endian CPU
#undef CRYPTOPP_BIG_ENDIAN

// define this if running on a little-endian CPU
#undef CRYPTOPP_LITTLE_ENDIAN

#endif  // CRYPTOPP_CONFIG_H

我们的configure.ac包括用于测试的以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile] [libcryptopp.pc])
AC_CONFIG_SRCDIR([configure.ac])

AC_PROG_LIBTOOL
LT_INIT

AC_PROG_CXX
AC_LANG([C++])
AC_PROG_GREP

autoreconfconfigure运行之后,就会有一个config.h。问题是,它没有遵循模板config.h.in。它看起来像是由这些工具产生的新的config.h

当我检查config.log时,我只看到一次提到config.h。我找不到更多关于正在发生的事情的信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
config.status:1172: creating Makefile
config.status:1172: creating libcryptopp.pc
config.status:1172: creating config.h
config.status:1401: executing depfiles commands
config.status:1401: executing libtool commands

有什么问题,我该如何解决?

EN

回答 1

Stack Overflow用户

发布于 2018-01-25 08:33:57

autoreconfconfigure运行之后,就会有一个config.h。问题是,它没有遵循模板config.h.in。它看起来像是由这些工具产生的新的config.h

在这一点上,看看你的config.h.in。我想你会很惊讶的。

问题是,在autoreconf为您运行的程序中,有一个是autoheader,它根据在configure.ac (或configure.in)中找到的内容构建config.h.in。然后,后续的configure使用新的模板,但是配置日志中并没有特别记录到这一点,因为模板在那时已经存在了。

这种行为通常是一种受欢迎的便利,但是如果您想提供您自己的定制config.h模板,则必须避免在运行autoreconf (或直接运行autoheader时)替换它。这样做的一种方法是完全避免运行这些程序。您可以运行其他自动工具程序,如果您决定避免使用autoreconf,那么编写脚本可能是值得的。

另一方面,Autoconf附带了一些内置的“行为”。特别是,AH_TOPAH_BOTTOM对于将自定义内容添加到自动生成的内容中可能很有用。

第三,如果您希望提供严格手工编写的自己的模板,并避免autoheader乱七八糟,那么了解autoheader只使用configure.ac中命名的第一个标头模板是有用的,并且可以指定多个标题模板。因此,您可以添加一个源没有引用的虚拟配置头,这样autoheader就可以在不破坏任何东西的情况下处理它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
AC_CONFIG_HEADERS([config_dummy.h config.h])

Autotools将为其创建虚拟配置头和模板,但如果您的源从未引用过它,则对构建没有任何影响。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48436715

复制
相关文章
如何在 Python 中创建元组字典
本演练是关于在 Python 中创建元组字典的全部内容。此数据结构存储键值对。通过组合字典和元组,可以创建元组字典。好处是以结构化格式组织且可访问的数据。可以轻松表示每个键的多个值,例如学生成绩或联系信息。让我们看看它如何有效地存储和检索复杂数据。
很酷的站长
2023/08/11
2630
如何在 Python 中创建元组字典
创建 WebRTC 会话
一WebRTC 是一套基于 Web 的实时通信解决方案,通过浏览器内置的 API 来支持音视频通道的搭建。
派大星在吗
2021/12/05
5.6K0
如何在Python中创建天气警报系统
通过阅读这篇文章,你将学会用Python创建一个天气警报系统,当它预测未来几小时内天空将下雨/下雪时,它会向多个收件人发送一封电子邮件通知。电子邮件通知包含其他信息,如预测的温度和湿度。
HuangWeiAI
2020/12/18
2.6K0
python变量'创建,引用,销毁'
引用: 当参数被引用,python引用计数器自增1 python中列表和字典引用示例 列表: def add_list(p): p+=[3] 或 p=p+[3] //print结果不一致,+、+=实现不同方法 p=[1,2] add_list(p) print(p) 字典: def add_dictionary(): b=a={‘one’:1,’two’:2} print(‘{}’.format(a[‘one’])) b[‘one’]=2 b[‘two’]=1 print(‘{}’.format(b[‘one’]))
py3study
2020/01/07
1.9K0
Python变量之白首如新,倾盖如故
python中的变量 变量:将运算的中间结果暂存到内存中,方便后续程序调用。 变量的命名规则: 1、变量名由字母、数字、下划线组成。 2、变量名可以用字母、下划线开头,但是不能以数字开头。 3、变量名是区分大小写的。 4、变量名不能使用关键字。 5、变量名最好不要用中文或者拼音。 6、变量名最好起的要有意义,具有描述性。 7、变量名最好不要太长。 8、变量名最好使用驼峰命名法或者下划线命名法。
py3study
2020/01/17
5750
python中画雷达图_如何在Excel中创建雷达图
参考链接: Python | 使用XlsxWriter模块在Excel工作表中绘制雷达图
用户7886150
2020/12/23
2.3K0
如何在js中创建对象
七夕临近了,没有对象的来创建一个吧 使用对象字面量: const o = { name: "zehan", greeting() { return `Hi, 我是${this.name}`; } }; o.greeting(); // "Hi, zehan" 使用构造函数: function Person(name) { this.name = name; } Person.prototype.greeting = function () { return `Hi, 我是
ZEHAN
2020/09/23
7.6K0
如何在Dynamo中创建UI
本文介绍了如何在Dynamo中创建UI,通过使用WPF技术实现了窗口的创建和交互。首先介绍了IronPython和Dynamo的基础知识,然后讲解了实现原理和准备工作。最后通过具体的操作步骤和代码示例讲解了如何在Dynamo中创建UI。
企鹅号小编
2018/01/05
2.1K0
如何在Dynamo中创建UI
如何在Mac中创建MiniKube
Minikube是一个工具,可以在本地轻松运行Kubernetes。 Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kubernetes或日常开发的用户使用。
方志朋
2022/05/08
2.4K0
如何在Mac中创建MiniKube
Python动态创建变量的方法
Python内置函数exec()可以用来执行Python代码或内置函数compile()编译的代码对象,例如 >>> exec('print("hello world")') hello world >>> t = compile('print("hello world")', 'temp.tmp', 'exec') >>> t <code object <module> at 0x000001ED08FE5300, file "temp.tmp", line 1> >>> exec(t) hello wo
Python小屋屋主
2018/04/16
1.7K0
如何在Ubuntu14.04中创建Python虚拟环境
在Ubuntu14.04中安装Python相对比较容易些,最简单的安装方法就是apt-get安装了,具体的教程可以戳这篇文章:在Ubuntu14.04中如何安装Python3和切换py2和py3环境。今天小编给大家分享一下,如何在Ubuntu14.04创建Python虚拟环境,具体的教程如下。
Python进阶者
2018/09/16
1.6K0
如何在Ubuntu14.04中创建Python虚拟环境
在Ubuntu14.04中安装Python相对比较容易些,最简单的安装方法就是apt-get安装了,具体的教程可以戳这篇文章:在Ubuntu14.04中如何安装Python3和切换py2和py3环境。今天小编给大家分享一下,如何在Ubuntu14.04创建Python虚拟环境,具体的教程如下。
Python进阶者
2018/10/18
1.2K0
如何在Ubuntu14.04中创建Python虚拟环境
聊聊如何在K8S中实现会话保持
故事的起因是朋友所在的部门最近基于auth2实现单点登录,他们在测试环境单点登录,运行得好好的,但他们把单点登录上到预发布环境,发现单点登录不好使了。他们有部分系统是以授权码式接入,发现第一次登录拿到授权码进行换取token时,会提示授权码失效。而他们测试环境和预发布环境的代码是一样的。
lyb-geek
2023/03/14
1.4K0
聊聊如何在K8S中实现会话保持
如何在 WordPress 中创建联系表格?
假设我们有一个 WordPress 网站,并且我们想要添加一个功能,让他们可以联系他们所拥有的查询。我们可以通过使用网站上的 WordPress 插件添加联系表格来做到这一点。因此,这将为你的访问者提供一种与你联系的方式,当他们需要帮助或有什么要分享的时候。
海拥
2022/12/19
2.9K0
如何在 WordPress 中创建联系表格?
如何在 WordPress 中创建登录页面
登陆页面: 登陆页面是为特定受众制定的具有特定目标的目标页面,可以描述为“一页一目的”。登陆页面必须有一个“号召性用语”,并牢记特定目标。成功的着陆页是具有更高转化率、更高参与度和更高质量潜在客户的页面。
海拥
2022/10/04
2.9K0
如何在 WordPress 中创建登录页面
如何在git中创建新分支
介绍 Git 是一个开源版本控制系统,用于在软件开发过程中跟踪更改。它的相互独立的分支模型使其脱颖而出。分支可以基于以前版本的软件来保持当前进度的完整性,同时处理错误修复或新功能。 在本地创建 Git 存储库 要创建新的 Git 存储库,请在终端中输入以下命令: mkdir rumenz cd rumenz git init 这将在 rumenz 目录中创建并初始化一个新的 Git 存储库。创建一个新的降价文件并添加一行文本: echo This is a line of text > rumenz.md
入门笔记
2022/06/02
2.9K0
python中的变量
  什么是变量?总结不好也记不得它的完整定义,就举个例子来便于自己学习总结吧。假如我们要计算1+2的值,那么首先在内存中要存储两个值,一个是:1,一个是:2。内存中有了这两个值,计算的时候就会找到它们进行计算。但是我们可能是计算任意两个数相加,数学中我们常用 x+y 来表示两个任意的数相加。假如在程序中我们用a+b来表示两个数相加,那么当a=1,b=2时,就可以计算出1+2=3,此时这个a和b就是变量,它们也可以等于其他数值,结果也是随着数值的改变而改变的。a和b的值能变动,就叫变量。刚才说了内存中存了1和2,那么a和b与内存中的1和2有什么联系呢,可以理解为a=1,b=2就是把内存中的1取个名字叫a,内存中的2取个名字叫b。这样按名字就能找到它的值了。
py3study
2020/01/19
2.5K0
python中的变量
点击加载更多

相似问题

会话变量,如Python中的PHP

21

Python会话(如php)类

21

如何在DotNetNuke皮肤中创建会话变量?

10

如何在express中创建全局会话变量

112

创建会话时在Grails中创建会话变量

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文