【问题标题】:Fixing gcc undefined include<> by manually installing library通过手动安装库来修复 gcc undefined include<>
【发布时间】:2020-09-24 14:03:22
【问题描述】:

我正在运行 golang 命令“go get -t github.com/otiai10/gosseract”,导致错误tessbridge.cpp:5:10: fatal error: leptonica/allheaders.h: No such file or directory, #include &lt;leptonica/allheaders.h&gt;。该库是https://github.com/DanBloomberg/leptonica。如何从源代码安装它,以便 gcc 命令正常工作。

在该命令产生错误“未找到 gcc”之前,但后来我按照 https://superuser.com/questions/1294343/install-gcc-in-git-for-windows-bash-environment 在 Windows 上设置 gcc。

我无法找到 gcc 在遇到 include 时所期望的任何参考,以及这些文件应位于文件系统上的什么位置以便正确链接。是否可以手动安装此库?

【问题讨论】:

  • leptonica 有关于如何构建和安装它的详细说明。阅读 README.html 文件。
  • 你看过readme吗?

标签: c++ go gcc tesseract


【解决方案1】:

这里为您提供更简单的解决方案。无需在git-bash 上安装gcc

  1. 安装MSYS2。遵循完整的安装指南。
  2. 在 MSYS2 控制台上输入以下命令:
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-leptonica
  1. C:\msys64\mingw64\bin 添加到PATH

如果您使用Chocolatey,第一步可以进一步简化。只需在提升的 powershell 中运行这些命令:(如果已安装 choco,则忽略第一个命令。)

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

重新打开提升的 powershell 并运行这些:

choco install -y msys2 --params="/InstallDir:C:\msys64"
refreshenv
$env:Path += ";C:\msys64\usr\bin"
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-leptonica
[Environment]::SetEnvironmentVariable("Path", "C:\msys64\mingw64\bin;" + $env:Path, "User")

【讨论】:

  • 感谢您的步骤帮助解决了错误。尽管我原则上仍然对我的问题感到好奇。我可以复制那些 pacman 命令手动执行的操作吗?也许如果没有具体说明,您能否高层次地解释 include 的文件存储在哪里,以允许 gcc 访问它们
  • @lufthansa747 标头安装在C:\msys64\mingw64\include 中。那些pacman(包管理器)命令是 MSYS 项目的一部分。是的,你肯定能做到。它基本上安装了gccleptonica。这几乎相当于从源代码本身构建这两个项目并将构建的头文件和库文件移动到适当的文件夹中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 2021-06-16
相关资源
最近更新 更多