기본 콘텐츠로 건너뛰기

2월, 2006의 게시물 표시

VC++ 6.0을 이용하여 컴파일하기

제가 애용하는 VC++을 이용하여 MDL 프로젝트를 컴파일하는 방법입니다. 뭐 그리 어렵거나 중요하는 내용은 없습니다. 먼저 VC++에서 Makefile로 프로젝트를 하나 생성합니다. 다음으로 Command line상에서 실행할 명령을 입력합니다. MDLVS.bat 파일은 MDL 컴파일러를 이용해서 컴파일하는 배치 파일이고 mdl.MKE는 프로젝트 makefile입求?(앞의 포스트 참조) 디버깅 모드와 릴리즈 모두 같게 합니다. 이제 F7을 눌러 컴파일할수 있습니다. MDLVS.bat의 내용 Microstation J를 디폴트로 설치하셨다면 아래 내용을 수정없이 사용하실 수 있습니다. 설치 폴더를 바꿨으면 아래 SET MS=xxx 부분을 수정해 주세요 echo off cls echo +-----------------MDL BUILD BATCH ------------------------------+ cd echo MDLVS.bat date /t time /t SET MS=C:\Bentley\Program\MicroStation SET MS call vcvars32.bat SET INCLUDE=%MS%\mdl\include;%INCLUDE% SET LIB=%MS%\mdl\library;%MS%\jmdl\lib;%LIB% set BMAKE_OPT=-I%MS%\mdl\include -I%MS%\jmdl\include set PATH=;%MS%;%MS%\mdl\bin;%MS%\jmdl\bin;%PATH% set MLINK_STDLIB=%MS%\mdl\library\mdllib.dlo %MS%\mdl\library\builtin.dlo %MS%\mdl\library\toolsubs.dlo %MS%\mdl\library\mspsolid.dlo echo +---------------------------------------------------------------+ %MS%\mdl\bin\bmake -a %1 기

다이얼로그 에디터

맨처음 다이얼로그를 만들때 직접 *.r 파일을 작성했었다. 버튼이나 텍스트 박스를 하나 추가 시키고 컴파일하고 MicroStation을 띄워서 제대로 들어갔는지 확인을 하였다. 정말로 맨땅에 헤딩이었다. 그러던 도중에 MicroStation 도움말 파일을 읽던 도중에 다이얼로그를 작성하는 에디터가 있다는것까지는 알게되었는데, 도대체 어디에 숨어있는지 알수가 없었다. MicroStation을 띄워 놓고 아무리 찾아도 없었다. 하지만 지성이면 감천이라고 이 놈이 숨어 있는곳을 찾았다. MicroStation을 시작할때 Interface 부분을 mde로 선택하고서 MicroStation을 실행하면 다이얼로그 에디터를 사용할 수 있다. Ctrl+B를 누르면 다이얼로그 에디터가 나타난다.

Make file 만들기

컴파일하기 위해서는 .MKE 파일을 만들어야 한다. 프로젝트를 할때 마다 새롭게 .MKE 파일을 만드는 것은 번거러운 일이므로, 기본 골격의 .MKE 파일을 만들어 놓고 복사해서 사용하는 방법을 택했다. 아래의 붉은색 부분이 프로젝트에 따라 수정해야 하는 부분이다. appName = HEC_STR /* 프로젝트 이름 */ %if defined (_MakeFilePath) baseDir = $(_MakeFilePath) %else baseDir = ./ %endif privateInc = $(baseDir) langSpec = $(baseDir)english/ %include $(MS)\mdl\include\mdl.mki appObjects =$(o)$(appName).mo appRscs = $(o)$(appName).mp \ HEC_STR.rsc /* 바이러리 리소스 파일. 여러개일 경우 \로 구분한다. */ #---------------------------------------------------------------------- # The following section builds any necessary CODE modules for the # application. #---------------------------------------------------------------------- $(o)$(appName).mo : $(baseDir)$(appName).c /* 소스 파일. 마찬가지로 여러개일 경우 \로 구분한다. */ #---------------------------------------------------------------------- # The following section generates the MDL Program module. This # module should contain ALL CODE resources and/or libraries used # by the a

[펌]마이크로스테이션 도구

▶MDL이 제공하는 도구(Tools ) Compiler, linker and "Make" utility (MCOMP, MLINK, BMAKE etc.) 컴파일러, 링커, 메이커 유틸리티 Object librarian 오브젝트 라이브러리언 Resource compiler and librarian (RCOMP, RLIB etc.) 리소스 컴파일러와 라이브러리언 MDE Workspace 사용자 그래픽 인터페이스 작성기 Debugger MDL 파일 확장자 ▶MDL응용프로그램 작성시 사용되는 도구(TOOL) 의 역할 MCOMP (MDL 컴파일러 ) *.mc 파일로부터 목적 파일인 *.mo 파일을 생성시킨다. MLINK ( MDL 링커 ) MDL 목적 파일(*.mo )과 MDL 라이브러리 파일(*.ml)을 결합하여 실행 가능한 리소스 파일인 프로그램 파일(*.mp)을 생성한다. RCOMP (리소스 컴파일러) 리소스의 소스 파일(*.r)로부터 리소스 파일(*.rsc)을 생성시킨다. 또한 option이 명시되어 있고, 리소스 소스 파일(*.r)이 명령 테이블 리소스(Command Table Resource) 를 포함하고 있는 경우 명령 테이블 헤더 파일(*.h)을 생성시킨다. RSCTYPE (Type Generator ) type 구조체 정의로부터 리소스 소스 파일 (.r)을 생성시킨다. RLIB (리소스 라이브리안 - Resource Librarian) 리소스 파일(.rsc)과 프로그램 파일(.mp)을 결합시켜 최종 응용프로그램인 *.ma 파일을 생성시킨다. MDE Work Space (사용자 그래픽 인터페이스 작성기) ▶마이크로스테이션 응용프로그램 개발을 돕는 TOOL을 제공하는 비주얼 환경 다이얼로그 작성기 - 다이얼로그 박스 작성을 돕는 비주얼 환경의 도구 아이콘 편집기 - 아이콘 작성 명령테이블 편집기 - 명령테이블 편집

[펌]MDL 개요 V7 / MSTN/MDL/VBA

MDL개요 ▶간략한 MDL 정의 MDL은 자체 실행 라이브러리 및 컴파일러, 링커를 지니고 있는, 마이크로스테이션에 의해 실행되는 C구조의 마이크로스테이션 개발 언어이다. 마이크로스테이션 명령어나 유틸리티와 동일한 모습을 제공하고, 사용자의 작업을 제한하지 않는 이벤트 주도식프로그래밍(Event Driven Programming)이다. 간단한 유틸리티에서 사용자 환경(Customized)명령어는 물론이고 복잡한 상업용 프로그램 작성에도 적합한 개발 도구이다. ▶MDL 파일 확장자 *.mke (Make 파일) 응용 프로 그램 생성 방법 관련 BMAKE 절차 수록 *.mc (소스 파일 ) MDL확장자를 지닌 표준 C 파일로서 실질적인 프로그램 소스 *.h (헤더 파일) 표준 C헤더 파일로서 소스 파일에서 공유하고 있는 매크로와 구조에 대한 정의수록 *.r (리소스 소스 파일) 다이얼로그 박스 정의, 명령 테이블 정의 등의 리소스 정보를 수록 *.mt (Type 파일) 사용자 정의 구조체에 대한 Type Description을 포함하고 있는 소스 파일로서 RSCTYPE에 의해 *.r 파일로 변환 된다. *.rsc (리소스 파일) RCOMP에 의해 생성된 리소스 파일 *.mo (목적 파일) MCOMP에 의해 컴파일된 MDL 소스 코드 *.mp (프로그램 파일) MLINK에 의해 생성된 일종의 리소스 파일로서, 최종적으로 RLIB에 의해 *.ma 파일로 변환 되기 전의, 응용프로그램의 실행 가능한 부문을 포함하고 있다. 이것은 그 자체만으로 응용 프로 그램 (*.ma) 으로 사용될 수도 있다. *.ma (최종 응용프로그램 파일) RLIB로서 프로그램 파일(.mp)과 모든 리소스 파일(.rsc )을 결합시킴으로써 생성된 최종 프로그램 실행 파일