如何交叉编译一个有效的Windows Tk DLL?

时间:2018-06-18 14:14:45

标签: tcl tk

我惊讶地发现,我无法使用Linux mingw工具从最新版本的源代码交叉编译工作的Windows Tk dll。编译一个工作的tclsh.exe没问题。编译好的tk86.dll抱怨它无法找到编译进来的资源文件并崩溃。

根据make流程回显的构建命令,资源似乎已按预期构建和包含。

在安装了mingw交叉编译工具的64位Linux上,我交叉编译Tk 8.6.8:

在win子目录中:

$ ./configure --with-encoding=utf-8 --host=x86_64-w64-mingw32 --enable-threads --enable-64bit --with-tcl=/opt/tcl8.6.8/win
$ make tk86.dll

为了测试结果,我在Windows 10计算机上按照https://www.tcl.tk/software/tcltk/bindist.html

的建议从Thomas Perschak下载二进制Tcl / Tk发行版

我将新编译的tk86.dll替换为已下载的版本。

> tclsh86.exe
% package require Tk
% button .b
FindResource() failed for buttons bitmap resource, resources in tk_base.rc must be linked into Tk dll or static executable
然后解释器就崩溃了。

我不知道这是Tk或其构建工具中的错误,还是我的配置疏忽。工作要求不允许我使用预编译的二进制文件,所以这对我来说是一个显而易见的。任何提示都赞赏。

0 个答案:

没有答案
相关问题