Cmake找不到增强窗口

时间:2019-08-10 17:30:21

标签: c++ windows boost cmake deep-learning

我正在尝试运行以下代码: https://github.com/snukky/news-translit-nmt

我已经安装了boost并收到以下消息:

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    C:\Program Files\boost\boost_1_67_0

The following directory should be added to linker library paths:

    C:\Program Files\boost\boost_1_67_0\stage\lib

通过@kenba的评论,我添加了以下环境变量:

env-vars

尝试1

当我尝试运行以下cmd时:

 cmake .. -DCMAKE_BUILD_TYPE=Release

我得到:

-- Could NOT find Boost (missing: timer iostreams filesystem system chrono) (found version "1.67.0")
CMake Error at CMakeLists.txt:290 (message):
  Cannot find Boost libraries.  Terminating.


-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Configuring incomplete, errors occurred!
See also "D:/ThesisResources/previous_works/news-translit-nmt-master/tools/marian-dev/build/CMakeFiles/CMakeOutput.log".

尝试2

当我尝试通过该参考提供自定义增强效果时
https://marian-nmt.github.io/docs/#custom-boost

我运行以下cmd:

 cmake .. -DBOOST_ROOT="C:\Program Files\boost\boost_1_67_0"

我遇到同样的错误。

  • 我也尝试过使用Linux WSL(但是那里有CUDA安装问题,他们的团队正在研究中),Linux VirtualBox(资源不足)和我安装的Ubuntu 17.10(但是Cuda需要Ubuntu 16.04 / 18.04) )

我在这里想念什么?我正在尝试任何建议,坚持了几天。谢谢!

编辑: 我重新安装了Ubuntu 16.04,问题已解决。仍然不知道如何在Windows中解决它,但是我将继续使用Ubuntu 16.04。

1 个答案:

答案 0 :(得分:0)

在尝试构建Windows版本的Marian NMT(您遇到问题的相同组件)时,我遇到了这个问题。我不记得要解决此问题的确切步骤,但是根本原因是Windows的Marian NMT构建不适用于更新版本的Boost,因为源代码对计时器和chrono库使用了一些过时的调用约定(也许还有一些)。

该错误消息可以确认这一点:它找不到Boost,但是另一方面,它说它找到了您的1.67.0版本。解决方案是使用旧版本的boost,我已经确认它可以与1.60.0一起使用。

如果您只需要在Windows上运行的Marian NMT解码器,则我正在从事的项目已发布了Trados Studio转换工具的插件,其中包含Windows的编译后的marian-decoder可执行文件:https://object.pouta.csc.fi/fiskmo/TradosStudio/FiskmoTranslationProvider.sdlplugin。您可以通过解压缩sdlplugin文件来访问可执行文件,StartMtPipe.bat显示了如何使用解码器。