我正在尝试安装 netgen (从源代码构建)。
因此需要 Togl,我通过以下方式安装了它
sudo apt-get install libtogl1 libtogl-dev
当输入“make”时,我收到以下错误消息:
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libTogl.so: undefined reference to `Tk_InitStubs'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libTogl.so: undefined reference to `tkStubsPtr'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libTogl.so: undefined reference to `Tcl_InitStubs'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libTogl.so: undefined reference to `tclStubsPtr'
也许 Togl 没有安装正确。这是32位64位的问题吗?
我应该怎么做才能解决这个问题?
正如 @keltar 提到的,这是链接到正确版本的 Tcl 和 Tk 的问题。如果您的目标是从源代码构建 Netgen,那么您最好的选择就是坚持使用netgen-5.3.1 http://sourceforge.net/projects/netgen-mesher/files/netgen-mesher/5.3/, which 适用于 tcl8.5 和 tk8.5 http://sourceforge.net/p/netgen-mesher/discussion/905306/thread/6b00b981/.
我遇到了这个问题,因为当我跑的时候sudo apt-get install tcl-dev tk-dev
, apt-get 为我获取了 tcl8.6 和 tk8.6。 (如果您在线搜索这些问题,您会发现这些链接问题有时可以通过更新 Tcl/Tk 版本来解决。)我卸载了默认的 tcl-dev 和 tk-dev 软件包并安装了 tcl8.5-dev 和 tk8。改为 5-dev。
一旦您拥有最适合的 Tcl/Tk 版本,您就可以从源代码安装 Netgen。例如,
./configure --with-tclconfig=/usr/lib/tcl8.5/ --with-tkconfig=/usr/lib/tk8.5/
make
make install
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)