如何让配置脚本检查依赖关系

2024-01-09

我使用 autoconf 生成了一个配置脚本来构建我的项目。

除非我没有安装一些所需的库,否则它工作正常。当缺少某些文件时,Make 返回错误,但我认为应该由配置脚本实际检查它?

所以我的问题是:如何修改 autoconf 生成的脚本来寻找依赖项并告诉用户它缺少哪些库?


取决于依赖关系,没有通用的解决方案。

AC_CHECK_LIB and AC_SEARCH_LIBS macros http://www.gnu.org/software/hello/manual/autoconf/Libraries.html如果库和标头安装在标准位置,这可能对您有用。

现在很多包都支持pkg-config http://pkg-config.freedesktop.org/wiki/或类似的东西,它允许您检查库是否存在,并且还可以为您提供所需的编译器和链接器标志。

使用不能与 AC 宏一起使用且不支持的软件包pkg-config或类似的,您可能需要自己编写大量脚本来查明依赖项是否可用以及它需要哪些编译器和链接器选项。即使如此,也很难使其便携。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让配置脚本检查依赖关系 的相关文章

  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 将成员函数作为参数传递/c++

    我想用 C 实现一个类b可以通过封装该迭代器类型的成员集进行某种迭代 喜欢 b object for each x do function f so 函数 f会得到每个人的x成员并做任何事情 比方说 void function f x me
  • 用 C# 制作 Vista 风格的应用程序

    我正在运行 Windows Vista 并且希望外观看起来像常规 Vista 程序 有没有关于如何构建 Vista 风格应用程序的真正好的教程 文章 我还想学习如何使用本机代码并将其转换为 C 如this http bartdesmet n
  • 使用 openssl 检查服务器安全协议

    我有一个框架应用程序 它根据使用方式连接到不同的服务器 对于 https 连接 使用 openssl 我的问题是 我需要知道我连接的服务器是否使用 SSL 还是 TLS 以便我可以创建正确的 SSL 上下文 目前 如果我使用错误的上下文尝试
  • 导出到 CSV 时 Gridview 出现空行

    这个问题是由进一步讨论引发的这个问题 https stackoverflow com questions 6674555 export gridview data into csv file 6674589 noredirect 1 com
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 从包含大量文件的目录中检索文件

    我的目录包含近 14 000 000 个 wav 格式的音频样本 所有普通存储 没有子目录 我想循环浏览文件 但是当我使用DirectoryInfo GetFiles 在该文件夹上 整个应用程序冻结了几分钟 可以用另一种方式完成吗 也许读取
  • 为什么WCF中不允许方法重载?

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • 如何在 VS Code 中为 CMake 项目设置 C/C++ IntelliSense?

    我正在尝试使用 libTooling 编写一个工具 我对其进行了设置 以便它可以使用 LLVM 文档中的示例进行编译 然而 C C IntelliSense 似乎不适用于 CMake 项目 我的工具位于
  • C++ 标准中短语“构造函数没有名称”的含义

    在尝试理解 C 标准中的 构造函数没有名称 这句话时 我似乎在 clang 中发现了一个错误 有人可以证实这一点吗 VS2015 and gcc rejects this code and I think they it are is co
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 将一个 long 转换为两个 int 以进行重构

    我需要将一个参数作为两个 int 参数传递给 Telerik Report 因为它不能接受长参数 将 long 拆分为两个 int 并在不丢失数据的情况下重建它的最简单方法是什么 使用掩蔽和移位是最好的选择 根据文档 long 保证为 64
  • 正在获取“未终止 [] 设置”。 C# 中的错误

    我正在 C 中使用以下正则表达式 Regex find new Regex url
  • 如何使用 ASP.NET Web 表单从代码隐藏中访问更新面板内的文本框、标签

    我在更新面板中定义了一些控件 它们绑定到中继器控件 我需要根据匿名字段隐藏和显示用户名和国家 地区 但问题是我无法以编程方式访问更新面板中定义的控件 我如何访问这些控件 我也在网上查找但找不到很多参考资料 下面是来自aspx页面和 cs页面
  • c# 替代方案中 cfusion_encrypt 中填充的密钥是什么?

    我找到了从这里复制 C 中的 cfusion encrypt 函数的答案 ColdFusion cfusion encrypt 和 cfusion decrypt C 替代方案 https stackoverflow com questio

随机推荐

  • 如何使用 API 获取数据来初始化图表?

    我想用ngx charts对于我的项目 问题是我不明白如何使用从 api 获得的数据初始化图表 垂直条形图看起来很简单 数据具有以下类型 当我分配在constructor Object assign this data the data我从
  • iOS - iPhone:UISlider 轨道图像随机消失

    我有一个定制的 UISlider 它的轨道图像有时会消失 它是随机发生的 当它的父视图控制器被推到可见时 我从未看到它实际上消失 这是我设置 UISlider 的代码 timeSlider UISlider alloc initWithFr
  • 根据文件名的第一部分将文件移动到目录?

    我有几千本电子书需要在通过 SSH 运行 bash 的无头 Linux 服务器上进行组织 值得庆幸的是 所有电子书都以两种约定之一命名 作者名字 作者姓氏 书名 pdf 作者名字 作者姓氏 图书系列 inSeries 图书 标题 pdf 我
  • 页脚脚本在 codeigniter 中不起作用

    我已经创建了MY Controller in the core文件夹 我在其中声明public footerScript 这是代码MY Controller
  • 如何以正确的方式编写代码内注释和文档?这有什么标准吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想通过注释行在我的代码中添加文档 这有什么标准格式吗 例如 考虑下面的代码 class Arithmetic This method adds
  • 是否存在可以忽略该字符串中字符顺序的字符串哈希

    是否存在可以忽略该字符串中字符顺序的字符串哈希 例如 helloword 和 wordhello 可以映射到同一个存储桶中 您可以采取多种不同的方法 您可以将字符的值加在一起 a b c 是 等于 a c b 不幸的是 这是最不理想的 方法
  • 如何从 MultipartHttpServletRequest 对象获取文件内容?

    我想使用此策略从网页上传文件 IE Ajax文件上传教程 http www ajaxf1 com tutorial ajax file upload tutorial html 一切顺利 但问题出在服务器端 我想在服务器端打开该文件并读取其
  • 使用 AspNetUserTokens 表在 ASP.NET Core Web Api 中存储刷新令牌

    我正在使用 ASP NET Core Web API 应用程序 我正在尝试在 ASP NET Identity 内置于数据库表中 之上实现基于 Jwt 令牌的身份验证 我已经实现了所有场景 例如注册用户 登录等 但现在尝试实现刷新令牌流程
  • 如何包含文档根目录之外的文件?

    我想要做的是将 domain1 中的 file1 php 包含到 domain2 上的 file2 php 中 所以我想我应该做的是这样的 file2 php require once var www vhosts domain1 http
  • Android Firebase 更新现有值而不是 setValue 创建新记录[重复]

    这个问题在这里已经有答案了 我的 Android 应用程序上有一个按钮 按下该按钮后应更新 Firebase 数据库中的分数 UPDATE DATABASE START final String getArgument getArgumen
  • 仅包含变量名的语句

    我今天在研究他的代码片段时刚刚看到一个人这样做了 void doSomething int param stuffs param lt what does this statement do stuffs 我尝试在互联网上寻找它并向我的大多
  • 结构初始化向量

    我想知道如何使用以下方法将值添加到我的结构向量中push back method struct subject string name int marks int credits vector
  • 如何使用 jQuery 在同一页面中将值 POST 到 PHP

    我不知道我是否只是个傻子 在过去的 1 小时里我一直在试图解决这个问题 请帮忙
  • 尝试使用 Java API 客户端查看 Google Drive 上的更改时出现“401 Unauthorized”

    真的被困在这里了 该代码是根据 Google 提供的示例构建的 public static void main String args try HttpTransport httpTransport new NetHttpTransport
  • 如果、IIf() 和 If()

    我最近问了一个关于IIf 与 If https stackoverflow com questions 28377 iif vs if发现VB中还有一个函数叫做If它基本上做同样的事情IIf但属于短路 做这个If函数的性能优于IIf功能 是
  • 根据上次日期选择行

    我有一个名为Course在 Postgres 数据库中 如何选择具有最新日期的课程名称的行 我的意思是 如果一个 ID 有两个相同的课程名称 我应该只显示最新的一个 如下所示 简而言之 我只想显示每个 ID 课程名称 的最新行 如果表中有两
  • 获取函数返回的列表的第一项

    问题的简单模拟 use strict use warnings sub uniq my seen grep seen my a 1 2 3 1 2 print shift uniq a 使用 严格引用 时无法使用字符串 3 作为 ARRAY
  • 将方法暂停指定的毫秒数

    我需要在我的方法中进行某种 超时 或暂停 10 秒 10000 毫秒 但我不确定以下内容是否有效 因为我没有多线程 Thread Sleep 10000 我将尝试使用当前的代码 但如果有人能够解释最好和正确的方法 特别是如果上面的代码无法正
  • Flutter sqflite 应用程序无法在真实的 ios 设备上运行

    我有一个使用 sqflite 数据库的 flutter 应用程序 它可以在 Android 模拟器和设备上完美运行 也可以在 ios 模拟器上运行 在 ios 真实设备上它可以工作 但不保存或检索数据 只是静态空 UI 我在 iphone
  • 如何让配置脚本检查依赖关系

    我使用 autoconf 生成了一个配置脚本来构建我的项目 除非我没有安装一些所需的库 否则它工作正常 当缺少某些文件时 Make 返回错误 但我认为应该由配置脚本实际检查它 所以我的问题是 如何修改 autoconf 生成的脚本来寻找依赖