如何在Mac上的Tcllib中激活jsonc?

时间:2019-01-23 05:27:53

标签: json tcl

似乎有一个C implementation of the json package in Tcllib。不幸的是,在带有tcl installed via home-brew的macOS Mojave上,它不可用。我将如何启用JSON解析器的C实现? Tcllib的源代码发行版似乎没有启用/禁用它的方法。

2 个答案:

答案 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实现。