我想测试一下Pocketsphinx in Node.JS。它说我需要安装Swig版本3.0.7或更高版本。
我认为我正确地安装了所有其他依赖项。我现在甚至可以在终端中输入Swig命令,但每次运行npm install pocketsphinx时都会收到这个错误
CMake Error at /usr/local/Cellar/cmake/3.6.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find SWIG (missing: SWIG_DIR) (Required is at least version
  "3.0.7")
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.6.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/3.6.3/share/cmake/Modules/FindSWIG.cmake:75 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:4 (find_package)我尝试过brew install swig、npm install swig和npm install -g swig。我尝试访问the swig download page并按照安装说明进行操作,但似乎无法阻止错误的发生。顺便说一句,我正在Macbook上试用。
我真的不知道我在这里做什么。我只是想测试一下口袋狮身人面像,现在我已经在4个不同的地方安装了Swig,而CMake似乎无法识别它们中的任何一个。
任何帮助都是很棒的!
发布于 2018-01-23 17:21:49
检查source code for the FindSwig.cmake。
不幸的是,如果find脚本不能像预期的那样工作,并且您不能立即看到原因,那么您通常必须深入挖掘其源代码。在您的例子中,看起来CMake能够找到并运行SWIG可执行文件,但随后无法获取swig目录。
尝试手动运行swig -swiglib并检查打印的目录是否确实包含swig.swg文件。此外,请确保CMake找到的swig可执行文件确实是正确的(您可以通过在cmake-gui、ccmake curses接口或直接在CMakeCache.txt文件中检查SWIG_EXECUTABLE的值来验证这一点)。
请注意,一旦找到可执行文件路径,CMake将不会更新它!因此,如果您对系统进行了影响可执行文件位置的更改,则必须清除缓存(例如,通过删除CMakeCache.txt)并重新运行CMake以使更改生效。
https://stackoverflow.com/questions/48382254
复制相似问题