Исходники tk скачиваются из репозитория (см. сайт core.tcl.tk)
Tcl/tk был ранее установлен в c:\yar\tcl-8.6.6 (там была поддиректория bin) - процедура нигде не описана, наверное, надо действовать согласно руководству :)
Поместил исходники в c:\yar\tcl-8.6.6\build\tk8.6.6
Исходники tcl - в c:\yar\tcl-8.6.6\build\tcl8.6.6
Испходники tcllib - в c:\yar\tcl-8.6.6\build\tcllib-1.18
Для сборки были бат-файлы, но я написал свои. Они плохи тем, что при ошибке компиляции всѣ равно запускается инсталляция, но они работают.
build-debug-tk.bat
cd /d c:\yar\tcl-8.6.6\build\tk8.6.6\win
call "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
nmake /f makefile.vc OPTS=symbols TCLDIR=c:\yar\tcl-8.6.6\build\tcl8.6.6
nmake /f makefile.vc OPTS=symbols INSTALLDIR=c:\yar\tcl-8.6.6 install
pause
build-debug-tcl.bat:
cd /d c:\yar\tcl-8.6.6\build\tcl8.6.6\win
call "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
nmake /f makefile.vc clean
nmake /f makefile.vc OPTS=symbols
nmake /f makefile.vc OPTS=symbols INSTALLDIR=c:\yar\tcl-8.6.6 install
pause
build-release-tk.bat
cd /d c:\yar\tcl-8.6.6\build\tk8.6.6\win
call "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
nmake /f makefile.vc TCLDIR=c:\yar\tcl-8.6.6\build\tcl8.6.6
nmake /f makefile.vc INSTALLDIR=c:\yar\tcl-8.6.6 install
pause
build-release-tcl.bat
cd /d c:\yar\tcl-8.6.6\build\tk8.6.6\win
call "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
nmake /f makefile.vc TCLDIR=c:\yar\tcl-8.6.6\build\tcl8.6.6
nmake /f makefile.vc INSTALLDIR=c:\yar\tcl-8.6.6 install
pause
Для отладки нужно запускать c:\yar\tcl-8.6.6\bin\wish87tg.exe, можно сначала запустить, потом сделать Attach, хотя это и неудобно.
Наконец, нужно находить определения. Для этого создаѣм проект Visual Studio и запихиваем туда все файлы tcl и tk (не стоит пытаться конвертировать makefile.vc - такой технологии нет, да это и не особо нужно).
Вероятно, придѣтся вручную прописать флаги - без этого вряд ли определения будут находиться правильно.
Далее можно зайти в project/properties/configuration/debugging и написать как-то так:
Теперь по F12 какое-то определение иногда находится, хотя, учитывая, что я никаких флагов препроцессора не ставил, может бытЬ, и неправильное. Если будет что поправить - я потом допишу.
ТЕперь собираем проект батниками, отлаживаем из среды, отклоняя предложение о пересборке.