Решил попробовать cpptk. Взял пример из архива с библиотекой. Установил tk-dev. Взял команду сборки с сайта библиотеки. При компиляции "fatal error: tcl.h: No such file or directory".
Сделал симлинки на tcl.h и tk.h в /usr/include. "fatal error: tclDecls.h: No such file or directory"
Пробовал различные ковыряния — в разном виде, но всегда фейл. То каких-то файлов нет, то какие-то другие косяки (после правки в исходниках путей к tcl.h и tk.h на tcl/tcl.h и tcl/tk.h соответсвенно):
g++ example1.cc cpptk.cc base/cpptkbase.cc -o myprog -I/usr/local/include/tcl8.4 -I/usr/local/include/tk8.4 -I/usr/X11R6/include -I/usr/local/include/boost_1_33_0 -L/usr/local/lib -ltcl84 -ltk84 -pthread
base/cpptkbase.cc: In function ‘int callbackHandler(ClientData, Tcl_Interp*, int, Tcl_Obj* const*)’:
base/cpptkbase.cc:196:68: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
"Trying to invoke non-existent callback", TCL_STATIC);
^
base/cpptkbase.cc:212:13: error: reference to ‘exception’ is ambiguous
catch (exception const &e)
^
In file included from /usr/include/c++/5/stdexcept:38:0,
from base/cpptkbase.h:19,
from base/cpptkbase.cc:10:
/usr/include/c++/5/exception:60:9: note: candidates are: class std::exception
class exception
^
In file included from /usr/include/boost/throw_exception.hpp:42:0,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:27,
from /usr/include/boost/shared_ptr.hpp:17,
from base/cpptkbase.h:24,
from base/cpptkbase.cc:10:
/usr/include/boost/exception/exception.hpp:208:5: note: class boost::exception
exception
^
base/cpptkbase.cc:212:23: error: expected ‘)’ before ‘const’
catch (exception const &e)
^
base/cpptkbase.cc:212:23: error: expected ‘{’ before ‘const’
base/cpptkbase.cc:212:31: error: expected initializer before ‘)’ token
catch (exception const &e)
^
Если кто связывался с этой библиотекой, подскажите какую кнопку нажать, чтобы всё сразу заработало.