编译 onigmo 库
onigmo github: https://github.com/k-takata/Onigmo
测试环境:Windows
我编译库时习惯于在 vs code 下 git clone 文件后,再执行相应的编译操作
而 vs code 提供的终端一般是 git bash 和 powershell
在编译 windows 下运行的库=》.lib 和 .dll
不能直接在 powershell 和 cmd 下跑 build_nmake.cmd 命令,前者会提示无法识别脚本,后者会缺少 stdlib.h 文件
1 | fatal error C1083: Cannot open include file: 'stdlib.h' : No such file or directory |
这其实是编译环境问题
切到 visual studio 提供的终端
在终端中再指定上述命令就可以编译出需要的库文件了
这类问题很常见,譬如编译 node.js 的 napi 工程,如果在 powershell 下执行 npm install 时会提示缺少 mvsm_version。
这种情况即使我们指定相应的 version 也不行,仍然会报错
解决方法就是跟上述一样,切到 vs 环境下再执行 npm 或者 node-gyp 命令
笔记:引用静态库 onigmo_s.lib 时,需要手动修改 onigmo.h
#ifndef ONIG_EXTERN # ifdef RUBY_EXTERN # define ONIG_EXTERN RUBY_EXTERN # else # if defined(_WIN32) && !defined(__GNUC__) # if defined(EXPORT) || defined(RUBY_EXPORT) # define ONIG_EXTERN extern __declspec(dllexport) # else // 静态库不需要 dllimport // # define ONIG_EXTERN extern __declspec(dllimport) # endif # endif # endif #endif
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗