我正在尝试运行以下代码: 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的评论,我添加了以下环境变量:
当我尝试运行以下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".
当我尝试通过该参考提供自定义增强效果时
https://marian-nmt.github.io/docs/#custom-boost:
我运行以下cmd:
cmake .. -DBOOST_ROOT="C:\Program Files\boost\boost_1_67_0"
我遇到同样的错误。
我在这里想念什么?我正在尝试任何建议,坚持了几天。谢谢!
编辑: 我重新安装了Ubuntu 16.04,问题已解决。仍然不知道如何在Windows中解决它,但是我将继续使用Ubuntu 16.04。
答案 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显示了如何使用解码器。