【问题标题】:Why do I get "Header file missing" (make error)?为什么我得到“头文件丢失”(出错)?
【发布时间】:2013-07-31 14:04:20
【问题描述】:

我正在尝试为我正在构建的网站安装地理编码器。我正在使用Geocoder,因为 Google Maps API 的查询限制无法满足我的需求。我安装了所有必需的 gem 并拥有 SQLite3。当我实际尝试安装地理编码器 gem (Geocoder::US) 时,运行 make 文件时出现错误。

我遇到了一个我无法弄清楚的错误。它提到了错误(在标题中),然后谈到了一个不存在的文件(sqlite3ext.h)。这是错误:

我知道这很含糊,但我已经工作了 10 多个小时试图安装这个并且在网上几乎没有找到帮助。任何有关前进方向的建议将不胜感激。

【问题讨论】:

  • 不是链接到图像,而是包含文本的摘要版本。这有助于我们搜索其他可能的修复,并让搜索引擎更好地索引该页面,帮助其他人找到它。

标签: c ruby geocoding fpic


【解决方案1】:

来自项目的Readme

要构建 Geocoder::US,您需要 gcc/g++、make、bash 或等效软件, 标准的 *NIX ‘unzip’ 实用程序,以及 SQLite 3 可执行文件和 系统上安装的开发文件。

您似乎缺少 SQLite3 开发标头。

这是相关的:

注意:如果您没有安装 /usr/include/sqlite3ext.h,那么 您的 sqlite3 二进制文件可能未配置为支持动态 扩展加载。如果没有,您必须从以下位置编译和安装 SQLite 源,或重建您的系统包。这不被认为是 Debian/Ubuntu 上的问题,但已知是 Red 的问题 帽子/CentOS。

他们也没有提到 Windows。你应该:

  1. 询问他们是否有人在 Windows 上使用它以及是否有相关说明。
  2. 评估 Linux,尤其是 Debian/Ubuntu 上的东西。

【讨论】:

  • 感谢您的回复,我已经确信它似乎更难以在 Windows 上实现。我下载了包含 shell.c、sqlite3.c、sqlite3.h、sqlite3.h.ghc、sqlite3ext.h 和 sqlite3ext.h.ghc 的 sqlite-amalgamation 文件夹。您知道如何将这些文件放在正确的目录中吗?提前致谢
  • 记录一下我使用的是 windows server 2012(windows 8 格式)
  • 找到解决方案:您需要更改 Windows 的构建代码。这些说明仅适用于 linux。
【解决方案2】:

-fPiC 不是你的问题。正如日志所述,编译后的代码已经与位置无关。问题是,sqllite3ext.h 不在编译器包含路径中。

【讨论】:

  • 改了,感谢您的意见,标题绝对是误导
猜你喜欢
  • 2014-04-11
  • 1970-01-01
  • 2012-11-07
  • 2017-04-27
  • 2012-04-26
  • 2019-03-10
  • 1970-01-01
  • 2021-11-22
  • 2022-01-19
相关资源
最近更新 更多