有点小曲折,不过编译成功了。学习到的经验教训就是不可以用 mingw 动态编译 c++ 程序,运行时会出错的。最后用 msys 编译成功。
@manateelazycat posframe 很酷,但是sdcv.el查词结果在Windows上显示乱码:
我在命令中加了 -0
参数仍然不行,还是乱码,问题可能出在 start-process
那里。
你直接在emacs里面执行下面的代码 (sdcv-search-witch-dictionary “hacker” sdcv-dictionary-simple-list)
看一看输出是不是乱码?
- 如果默认执行就乱码,可能就是你emacs编码配置的问题
- 如果不乱码,只是弹出 tooltip 乱码,可能是要设置一下 start-process 的编码
是在msys2里编译的sdcv吗?sdcv版本号是?
是 msys2 编译的,版本0.5.2(最新版),git版本应该也可以编译,我没试
你用不用 mdx 词典?发现有这帖,虽然我没用过。
多谢推荐,我已经搞定 sdcv 了,用起来不错,查词挺快,海量词典。
也好,mdx 也是海量,就怕沦为词典收藏家,尤其是强迫症患者
确实,少即是多,太多了根本用不到
能分享一个binary吗?我cmake的时候提示没有cl
只要一个 binary 就能工作吗? 这个好像是 msys 环境下的应用,和mingw编译的纯windows应用还不一样,不会缺少依赖吗?能把 cmake 的提示截图一下吗?我刚编译过,有些问题印象还比较深刻。
用这个打开,然后安装 msys 的包,不要安错了
我只用过 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查询的