似乎有一个C implementation of the json package in Tcllib。不幸的是,在带有tcl installed via home-brew的macOS Mojave上,它不可用。我将如何启用JSON解析器的C实现? Tcllib的源代码发行版似乎没有启用/禁用它的方法。
答案 0 :(得分:2)
tcllib加速器的全部集合是使用critcl软件包构建的。遗憾的是,Homebrew中的tcl-tk配方未包含有关构建的说明(可选!)。
A,我不知道使用运行时加速器增强所有功能的确切说明。其中一部分是making critcl work,并且从理论上说,那么您只需执行package require tcllibc
,它就可以为您构建……
我建议直接联系maintainer of tcllib and critcl。他将能够提供建议(而且关于如何使tcllibc成为IMO outright bug,甚至缺少基本文档)。
答案 1 :(得分:0)
根据maintainer of tcllib and critcl的提示,我设法以这种方式完成此操作(假设您从tcllib
的源发行版开始):
(1)获取并安装critcl
;从critcl
源目录中解压缩后,我更喜欢source distribution:
/path/to/homebrews/tclsh build.tcl install
(2)获得tcllib
;我想您也必须从source distribution开始,我不知道酝酿的安装是否能够维持tcllibc
的构建需求。
(3)(从tcllibc
源目录中构建并安装tcllib
;
make critcl
这假定在步骤(1)中安装了critcl
,并且您的PATH env变量包含了critcl
可执行文件的安装路径。如有疑问,请明确设置PATH:
PATH=/path/to/critcl/bin/dir:$PATH make critcl
(4)(从tcllib
的src目录中安装tcllibc
+ tcllib
/path/to/homebrews/tclsh installer.tcl
(5)验证tcllibc
的可用性:
$ /path/to/homebrews/tclsh
% package req tcllibc
0.3.15
% package req json
1.3.4
% info commands ::json::many_json2dict_critcl
::json::many_json2dict_critcl
最后一个info
调用确定是否可以使用和加载基于C的json实现。