我正在尝试构建和修复 UCL RAT,以便在使用 VS 2010 编译的 Windows 上运行。我已经在 Visual Studio 2010 和主要 RAT 可执行文件下成功编译了 TCL 8.5.12。
RAT 使用 TCL 来驱动它的用户界面。
当我开始修改 RAT 以将通常存储为字符串的 TCL 代码嵌入到 zip 文件中而不是使用 zvfs 时,问题就出现了。目的是最终将 zip 嵌入到可执行文件的末尾,以最大限度地减少磁盘使用和分发文件的数量。
所以我从 TOBE 项目下载了一些 zvfs 代码,看看我是否可以使用它来加快进程(特别是 zvfs.c 文件,它基本上是 tcl 的 zvfs 扩展)
这需要 Zlib 才能运行构建和集成良好。
但问题是 zvfs 代码没有与 TCL 正确链接。它通过了编译,但在链接时出现以下错误:
2>zvfs.obj : error LNK2019: unresolved external symbol _TclOpenFileChannelInsertProc referenced in function _Zvfs_Init
2>zvfs.obj : error LNK2019: unresolved external symbol _TclStatInsertProc referenced in function _Zvfs_Init
2>zvfs.obj : error LNK2019: unresolved external symbol _TclAccessInsertProc referenced in function _Zvfs_Init
对 c/c++ 和链接器没有我可能的经验,这已成为为更现代的 Windows 版本修复 RAT 的障碍。
RAT 的版本是来自 UCL 颠覆服务器的最新版本,如果这有任何影响,Zlib 的版本是 1.2.7。
干杯