emacs 26.1 win7里 sdcv无法显示查询结果了,求助高手

有点小曲折,不过编译成功了。学习到的经验教训就是不可以用 mingw 动态编译 c++ 程序,运行时会出错的。最后用 msys 编译成功。

image

@manateelazycat posframe 很酷,但是sdcv.el查词结果在Windows上显示乱码:

我在命令中加了 -0 参数仍然不行,还是乱码,问题可能出在 start-process 那里。

你直接在emacs里面执行下面的代码 (sdcv-search-witch-dictionary “hacker” sdcv-dictionary-simple-list)

看一看输出是不是乱码?

  1. 如果默认执行就乱码,可能就是你emacs编码配置的问题
  2. 如果不乱码,只是弹出 tooltip 乱码,可能是要设置一下 start-process 的编码

是在msys2里编译的sdcv吗?sdcv版本号是?

是 msys2 编译的,版本0.5.2(最新版),git版本应该也可以编译,我没试

你用不用 mdx 词典?发现有这帖,虽然我没用过。

多谢推荐,我已经搞定 sdcv 了,用起来不错,查词挺快,海量词典。

也好,mdx 也是海量,就怕沦为词典收藏家,尤其是强迫症患者 :smirk:

确实,少即是多,太多了根本用不到

能分享一个binary吗?我cmake的时候提示没有cl

只要一个 binary 就能工作吗? 这个好像是 msys 环境下的应用,和mingw编译的纯windows应用还不一样,不会缺少依赖吗?能把 cmake 的提示截图一下吗?我刚编译过,有些问题印象还比较深刻。

image

用这个打开,然后安装 msys 的包,不要安错了

@fontux mdict 和 stardict 相比有什么优势呢? 还有 colordict goldendict,同类软件太多了

我只用过 goldendict,支持的格式最全,感觉比 stardict 更现代吧,虽然命令行还是只能弹窗,不能输出。 但是感觉上面的包能解决 mdx 词典的这个问题。

stardict 可能比较古老,但我看大多数都是冲着 sdcv 去的,不得不说 sdcv 太牛逼了,开发者好像是俄国的,也一直在搞。Goldendict 我也用过,感觉没有什么特点,不过一直在开发。

-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe
CMake Error: Generator: execution of make failed. Make command was: "/usr/bin/make.exe" "cmTC_a5dac/fast"
-- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe -- broken
CMake Error at C:/msys64/mingw64/share/cmake-3.11/Modules/CMakeTestCCompiler.cmake:52 (message):
  The C compiler

    "C:/msys64/mingw64/bin/cc.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: C:/Users/suns18/Documents/Downloads/firefox/dtm/emacs/build-sdcv/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make.exe" "cmTC_a5dac/fast"
    系统找不到指定的文件。
    Generator: execution of make failed. Make command was: "/usr/bin/make.exe" "cmTC_a5dac/fast"




  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:1 (project)

果然和我想的差不多,你在 mingw 下编译的,这个即使编译成功也用不了

需要装msys2的gcc,而不是mingw64的gcc?

对的,所有包都要装 msys2 的,而且在 msys2 的终端下编译

感觉离线词典和在线词典相比的一大劣势是没法查词组?还是说我没找到方法?

除非词典里有词组;sdcv的词典格式大约是 key\TAB解释,结果是从key里fuzzy查询的