본문으로 바로가기

이 글은 bonkora님께서 제공해 주셨습니다.

MyTcl 다운로드 및 설치

MyTcl은 https://tcltk.co.kr/16 에서 다운로드할 수 있습니다. 설치과정에서 특별히 설명할 것이 없으니 넘어갑니다.

간단한 실행파일 만들어 보기

설치 후 MyTcl을 실행시킵니다.

위와 같은 화면이 나타납니다. 먼저 프로젝트파일을 만들어야 합니다.

위와 같이 "New Project"를 선택합니다.

윗부분에서 "Window Application"을 선택하고 아랫부분에서 프로젝트의 이름과 메인 스크립트의 이름을 정합니다. 위에서는 편의상 프로젝트의 이름과 메인스크립트의 이름을 같게 하였는데 달라도 됩니다. 그리고 "Location"에는 이 파일들이 저장될 곳을 지정합니다. 나중에 만들어질 실행파일은 이 폴더의 아래에 "Release"라는 이름의 폴더가 만들어지고 이 속에 생성됩니다.

first.tcl의 내용을 작성합니다.

위와 같이 두 줄의 코드를 입력하였습니다. 이제 실행시켜 보도록 하지요.

메인 메뉴의 디버그 메뉴에서 "Start Debugging"을 선택해 보겠습니다. 저장을 안 했으면 저장하겠냐고 물어본 후 아래와 같은 창이 뜹니다.

새로이 생성된 창을 닫은 후 이제는 실행파일을 만들어 봅니다.

메인 메뉴의 빌드 메뉴에서 "Build All"을 선택합니다.

그러면 위와 같이 실행파일이 만들어집니다. 실행파일을 실행시켜 봅시다.

한글이 깨져서 나타납니다. 한글을 위한 엔코딩파일을 지정해 주어야 합니다.

메인 메뉴의 프로젝트 메뉴에서 "Properties" 메뉴를 선택합니다.

그러면 위와 같은 창이 뜨는데 위 그림처럼 "Build" 탭의 "Encoding" 항목에서 "cp949"를 선택한 후 "OK" 버튼을 누릅니다. 그 후 다시 빌드를 하면 제대로 작동하는 실행파일이 만들어집니다.

메인 스크립트 외의 다른 파일과 같이 작업하기

실행파일에 손수 제작한 아이콘을 사용하고 메인 스크립트가 다른 스크립트를 부르는 경우를 생각해 보겠습니다. 앞에서 보셨던 first.tcl을 조금 변형시킨 것인데, 위의 빨간 사각형은 아이콘을 부르는 명령이고 아래의 빨간 사각형은 버튼을 눌렀을 때 hello.tcl이라는 다른 스크립트를 부르는 커맨드입니다. 아이콘 파일은 제가 만들어 놓은 calc.ico 파일을 쓰기로 합니다. 다운로드하여서 "tclproject" 폴더에 복사해 넣으면 됩니다. hello.tcl은 지금 만들기로 합니다.

위와 같이 "Files" 창에서 "Source Files"에 마우스 커서를 위치시킨 후 오른쪽 버튼을 눌러서 "Add File"을 선택합니다.

파일이름을 입력한 후 열기 버튼을 선택합니다.

위와 같이 코딩을 합니다. 그 후 "Start Debugging"을 합니다

버튼을 클릭하면…

이런 창이 나타납니다. 아이콘도 잘 보이고 새로이 작성한 스크립트도 잘 작동합니다. 자, 이제는 빌드하여 실행파일을 만들어 봅시다.

디버깅 시에는 잘 되던 것이 막상 빌드를 하면 위와 같이 에러메시지가 뜹니다. 빌드 시의 가상파일시스템을 만드는데 이 속에 메인 스크립트 외에 필요한 파일을 집어넣어야 정상적으로 동작하게 됩니다.

첫 번째 빨간 사각형 안의 스크립트를 보면 appdir라는 변수에다 파일들이 위치할 가상파일시스템의 폴더명을 입력합니다. 그 후 두 번째와 세 번째의 사각형에서 보시는 바와 같이 파일을 지정해 줄 때 폴더명도 같이 넣어줍니다.

전에 했던 것처럼 "Project Properties" 메뉴를 불러서 "Virtual File System" 탭을 연 후 왼쪽 창에서 app-fist 폴더를 선택하고 오른쪽 창 아래에서 "Add" 버튼을 클릭합니다.

파일을 선택하기 위한 창에서 파일을 선택하여 위와 같이 두 개의 파일을 넣은 후 "OK" 버튼을 누릅니다. 그리고 당연히 한글을 위한 엔코딩파일도 지정해 주어야 합니다. 그 후 다시 빌드를 하면 정상적으로 동작하는 실행파일을 만날 수 있습니다.

확장패키지 사용하기

BWidget 확장패키지를 사용하는 예를 들어 보겠습니다.

앞에서 하신 것처럼 extpackage라는 새로운 프로젝트를 만든 후 위와 같이 코딩을 합니다. 그 후 디버깅을 해 보면…

이처럼 잘 동작합니다. 그 후 빌드를 해보면…

이런 에러메시지를 만나게 됩니다. 이 문제를 해결하기 위해서 다시 "Project Properties" 메뉴를 부릅니다.

"Package Information" 탭에서 BWidget 항목을 찾아서 Require 필드를 체크한 후 "OK" 버튼을 누릅니다. 그 후 다시 빌드해 보면 정상적으로 동작하는 실행파일이 만들어집니다.

글을 마치며

https://tcltk.co.kr/pages/Tclkit-Starkit-Starpack 이 페이지를 보면 관리자님이 Tclkit, Starkit, Starpack을 이용하여 실행파일을 만드는 방법을 설명해 놓으셨는데 위에 설명해 드린 작업을 수동으로 하는 것이라 보셔도 되겠습니다. 필요하신 분은 참조하시기 바랍니다. 이상으로 MyTcl을 이용하여 Tcl/Tk 스크립트를 실행파일로 만드는 방법을 살펴보았습니다. 기본적인 내용만 서술하였는데 더 자세한 내용의 매뉴얼을 만들어 주실 분을 기다리겠습니다. 관리자님이 만드신 MyTcl이 널리 쓰이는데 조금이라도 도움이 되면 기쁘겠습니다.

calc.ico
0.01MB
original_images.7z
0.51MB