diff --git a/vlib/json/cjson/cjson_wrapper.c.v b/vlib/json/cjson/cjson_wrapper.c.v index 34bc9f4169..879900f1a9 100644 --- a/vlib/json/cjson/cjson_wrapper.c.v +++ b/vlib/json/cjson/cjson_wrapper.c.v @@ -12,6 +12,15 @@ module cjson #flag @VEXEROOT/thirdparty/cJSON/cJSON.o #include "cJSON.h" +// As cJSON use `libm`, we need to link it. +$if windows { + $if tinyc { + #flag @VEXEROOT/thirdparty/tcc/lib/openlibm.o + } +} $else { + #flag -lm +} + @[flag] pub enum CJsonType { t_false diff --git a/vlib/json/json_primitives.c.v b/vlib/json/json_primitives.c.v index 9a6c740da7..97fec6cd5d 100644 --- a/vlib/json/json_primitives.c.v +++ b/vlib/json/json_primitives.c.v @@ -8,6 +8,15 @@ module json #include "cJSON.h" #define js_get(object, key) cJSON_GetObjectItemCaseSensitive((object), (key)) +// As cJSON use `libm`, we need to link it. +$if windows { + $if tinyc { + #flag @VEXEROOT/thirdparty/tcc/lib/openlibm.o + } +} $else { + #flag -lm +} + pub struct C.cJSON { valueint int valuedouble f64