VS 2010 でコンパイルされた Windows で実行する UCL RAT をビルドして修正しようとしています。Visual Studio 2010 とメインの RAT 実行可能ファイルで TCL 8.5.12 を正常にコンパイルしました。
RAT は、TCL を使用してユーザー インターフェイスを駆動します。
zvfs を使用する代わりに、通常は文字列として保存されている TCL コードを zip ファイルに埋め込むように RAT を変更し始めたときに、問題が発生しました。最終的には実行可能ファイルの最後に zip を埋め込んで、ディスクの使用量と配布ファイルの数を最小限に抑えることを目的としています。
そこで、TOBE プロジェクトから zvfs のコードをダウンロードして、それを使用してプロセスを高速化できるかどうかを確認しました (具体的には、基本的に tcl の zvfs 拡張である zvfs.c ファイル)。
これには、どのビルドおよび統合されたものを実行するために 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 です。
乾杯