【发布时间】:2016-08-21 16:25:15
【问题描述】:
我正在尝试用 scons 构建 clgo。它抱怨我的编译器集是我能找到的最新版本“gcc-7-win64”。 (我尝试了几个旧版本)
错误信息:
错误:找不到可用的 c++ 编译器
错误:找不到可用的野牛版本
我的第二个问题是:我应该将手动下载的库(例如 bison)放在哪里,以便 scons 轻松找到?
【问题讨论】:
我正在尝试用 scons 构建 clgo。它抱怨我的编译器集是我能找到的最新版本“gcc-7-win64”。 (我尝试了几个旧版本)
错误信息:
错误:找不到可用的 c++ 编译器
错误:找不到可用的野牛版本
我的第二个问题是:我应该将手动下载的库(例如 bison)放在哪里,以便 scons 轻松找到?
【问题讨论】:
问题是 SCons 默认使用干净的环境(没有设置PATH 变量),因此它找不到像“gcc”和“bison”这样的命令/程序。另请参阅http://scons.org/faq.html 我们最常见的常见问题解答中的 #1。
请检查 cligo 项目是否预见到此问题并提供类似“--with-bison”(或类似)的命令行选项,用于在 SConstruct(s) 中设置正确的路径。
附加信息:这在 Linux 下不是什么大问题,因为当检测到像 gcc/yacc/qmake 这样的工具时,默认会搜索一组像 /usr/bin 这样的默认目录...但是当它可以得到一个时尝试cross-compile with SCons。
【讨论】:
env”是用于构建/编译内容的实际环境。如果是,但您看到同样的错误,是时候联系项目维护人员了……SCons 部分应该是正确的,但之后项目的 SConstruct 可能会覆盖设置/变量。
Clingo 的 scons 脚本有一个 configure 目标。这将创建文件 build/release.py,您可以在其中调整所需的所有工具(bison、gcc、re2c)的路径。但请注意,我过去曾尝试在 Windows 上构建 cligo,但在为 Windows 找到工作野牛版本时遇到了问题。 INSTALL 文件中对此有一些说明。
【讨论】: