Tcl/Tk applications in C on macOS

When ActiveTcl installs on macOS (Catalina), it links commands (e.g. tclsh) in /usr/local/bin but leaves the headers and libraries in the frameworks (/Library/Frameworks/Tcl.framework, likewise Tk).

How to call the compiler (gcc for preference, clang also would help) to find the headers?

Should the headers and libraries be copied to /usr/local like the commands?

I’m sorry that no one has felt able to respond. One might have hoped that ActiveState themselves would have had something to say.

Anyway, the answer is that the C headers have to be explicitly called up from the frameworks …

-I/Library/Frameworks/Tcl.framework/Headers -I/Library/Frameworks/Tk.framework/Headers

while the libraries are accessed in the frameworks as normal (note that the effect of -F applies here in spite of apparent disclaimer in Apple documentation):

-F/Library/Frameworks -framework Tcl -framework Tk

both with GCC (FSF 10) and Apple clang.

1 Like