亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Tcl:如何更改nameofexecutable的行為

Tcl:如何更改nameofexecutable的行為

牛魔王的故事 2021-03-02 14:29:04
我在使用python解釋器從ac可執行文件中獲取tcl時遇到了一些問題。由于某種原因,它無法加載<fullpath>Tix843.dll。但是當直接運行python代碼(從python)時,它確實可以工作。dll的路徑/名稱是正確的...使用依賴項遍歷器,我只能看到Tkinter嘗試加載tix dll,但找不到它...跟蹤tcl中的所有路徑后,我只能檢測到1個差異:nameofexecutable。直接從python運行時,這是到的路徑,python.exe但是從我的c可執行文件運行時,它(顯然)是path/name of the executable。在tcl / tk中,我注意到nameofexecutable用來設置很多路徑,因此我認為這會引起我的問題。我試圖防止此問題的事情:將dll的路徑添加到系統路徑將dll的路徑添加到$auto_path->不變argv[0]在調用PySys_SetArgv之前設置c可執行文件的->不變我是在做一些愚蠢的事情還是該如何設置nameofexecutable?還有其他方法可以解決此問題。
查看完整描述

2 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

nameofexecutable屬性是在Tcl庫初始化期間設置的(該參數源自Tcl_FindExecutable()我不知道該調用的確切方式,但絕對是:它用于執行各種操作)。您無法在其他任何位置進行設置。但是,Tcl實際上并沒有大量使用您無法覆蓋的值。

相反,您應該研究將TCLLIBPATH環境變量設置為目錄的Tcl列表以在其中搜索包定義。或者您可以auto_path在Tcl(帶有lappend auto_path)中的全局變量中添加目錄,其中包含要查看的實際位置列表(嗯,它實際上也在該變量中列出的位置的直接子目錄中查找)。當然,這必須在嘗試加載Tix之前完成。


查看完整回答
反對 回復 2021-03-27
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

C程序很可能找不到Tix.dll,因為它不在您的路徑中。Python可以找到它,因為它與python可執行文件位于同一目錄中,或者位于python知道的子目錄中。嘗試將dll路徑添加到PATH環境變量中。


查看完整回答
反對 回復 2021-03-27
  • 2 回答
  • 0 關注
  • 372 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號