2

私が試したこと(WindowsでTclとTk 8.6.0を実行):

load D:/toot/bar/em.dll
load "D:/toot/bar/em.dll"
load D://toot//bar//em.dll
load "D://toot//bar//em.dll"
load D:\toot\bar\em.dll
load "D:\toot\bar\em.dll"
load D:\\toot\\bar\\em.dll
load "D:\\toot\\bar\\em.dll"

これらはすべて、次の 2 つのエラーのいずれかを返します。

ライブラリをロードできませんでした [「ロード」の後に入れたもの]: 引数が無効です

ライブラリをロードできませんでした [「ロード」の後に置いたもの、レンダリング]: このライブラリまたは依存ライブラリがライブラリ パスに見つかりませんでした

4

2 に答える 2

1

それが true afile exists D:/toot/bar/em.dllを返すと仮定すると、うまくいくはずです。ただし、ライブラリが依存するもの (つまり、他の DLL) に問題があるようです。load D:/toot/bar/em.dll

これは Windows の一般的な問題であり、Stack Overflow の他の場所で質問されています。そこにある答えは、この質問に関連しています。また、DLL が特定のバージョンの Tcl DLL に対してリンクされている場合 ( Windows では Tcl 拡張には推奨されません)、リンクされたものと同じバージョンの Tcl をインストールする必要があることにも注意してください。スタブ対応の拡張機能には、この問題はまったくありません (ただし、他の必要なライブラリが存在しないという問題が発生する可能性はあります)。

コマンドのエラー メッセージに欠落している DLL が表示されないのは残念ですloadが、基になる OS API である IIRC もそれを報告しません。外部ツールを使用してこれらのことを診断することに行き詰まっています…</p>


aバックスラッシュ/スラッシュの問題について心配する必要はありません。Tcl がそれらを処理します。

于 2013-08-11T15:20:49.597 に答える