Я имею Win 7 машина и TCL установлена с downloads.activestate.com/ActiveTCL/releases/8.6.4.1/ActiveTcl8.6.4.1.299124-win32-x86_64-threaded.exe
Я использую TCL пакет fileutil успешно, как:не может найти пакет fileutil в TCL (как установить его для третьей стороны TCL интерпретатора)
proc foo{} {
# some code
package require fileutil
# able to use ::fileutil::updateInPlace in code
}
foo
Это делается с помощью скрипта на
C:/SVN/code/changeFile.tcl
Теперь я использую тот же код как часть большего сценария как
proc foo{} {
# some code
package require fileutil
# some code using the package
}
# more code
cd "C:/SVN/code"
foo
#more code
cd "C:/Program Files (x86)/Target Compiler Technologies/adsp2-12R2/designs/adsp2/ISS"
Это часть сценария называется audio_sim.tcl и вызывается следующими командами на скорлупе
cd "C:/Program Files (x86)/Target Compiler Technologies/adsp2-12R2/designs/adsp2/ISS" adsp2_ia.exe -T -t "C:/SVN/code/audio_sim.tcl"
Это теперь дает ошибку:
can't find package fileutil
Почему жалуется теперь, когда это похоже на то, что я сделал в первом случае?
В первом случае сценарий выполняется по tclsh.exe (или tclsh86.exe), который поставляется с ActiveTcl. Во втором случае он выполняется с помощью adsp2_ia.exe, который является сторонней программой, которая имеет встроенный интерпретатор tcl. Вот почему он не может найти пакет. Tcl немного уникален в этом смысле, потому что, в отличие от Perl или Ruby, вы часто находите его в качестве скриптового языка в другой программе. Очень похоже на javascript. Это похоже на запись javascript-кода для Firefox, который не будет запускаться в IE. У меня нет такого решения, поэтому я размещаю это как комментарий. – slebetman
@slebetman, поэтому, я думаю, мне нужно найти способ установить этот пакет для стороннего интерпретатора – user915783
Если пакет является чистым tcl-кодом, вы можете просто искать файл, который реализует пакет, источник, который требуется пакет. – slebetman