Строим tk в Microsoft Visual C++ 2008 Express Edition

May 31, 2017 12:32

Исходники 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 какое-то определение иногда находится, хотя, учитывая, что я никаких флагов препроцессора не ставил, может бытЬ, и неправильное. Если будет что поправить - я потом допишу.

ТЕперь собираем проект батниками, отлаживаем из среды, отклоняя предложение о пересборке.

tcl/tk, программирование

Previous post Next post
Up