C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[969] DLL을 가지고 lib 파일 만들기.
이경문 [gilgil] 15303 읽음    2010-03-15 14:51
예제)

openssl 을 windows 로 포팅한 라이브러리가 있습니다.

http://www.ie7pro.com/openssl.html

zip 파일을 다운받아 보면 dll 파일과 lib  파일이 있습니다.
여기에서 lib 파일은 Microsoft Visual Studio에서 사용할 수 있는 파일이고
C++Builder에서는 직접 사용할 수가 없습니다.

이 경우 comm2omf 라는 것을 이용해서
C++Builder에서 사용할 수 있도록 변환을 해서 사용을 하게 됩니다.

그런데 링크가 제대로 되지가 않더군요. ㅠㅠ

그래서 알아 낸 것이 implib 라는 명령어입니다.

implib test.lib test.dll

이렇게 하면 test.dll 을 참조하여 거기에서 export하는 함수들을 가지고 test.lib 파일을 만들어 줍니다.
링크를 할 때 underbar error(함수 이름 앞에 underbar가 붙을 경우)에는 옵션네 "-a"를 넣어 주시면 됩니다.

참고로 아래는 C++ Builder에서 OpenSSL의 dll 파일을 사용하기 위해서 lib 파일을 만드는 방법입니다.

implib -a libeay32_cb2007.lib libeay32.dll
implib -a ssleay32_cb2007.lib ssleay32.dll
이경문 [gilgil]   2010-03-15 16:20 X
음... 명령어 이름이 "임프 라이브"이구만...
임프... ㅋㅋㅋ
반대말은 엑스프? ㅋㅋㅋ

박지훈의 반대말은 안지훈? ㅋㅋㅋ

썰렁하다면 죄송... (--)(__)(--)
박지훈.임프 [cbuilder]   2010-03-17 01:55 X
경문아 춥다.... -.-;;;;

참고로 내 개인 라이브러리 이름도 implib이다... 나도 가끔은 헷갈릴 때도 있고..

implib.exe의 자세한 사용법은 아래 글을 참고...
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=116
장성호 [nasilso]   2010-03-17 11:06 X
임프님 IMPLIB.EXE Option 정리해놓은 글에는 -a옵션에 대한 내용이 없네요.

C++Builder 와 delphi에서는 함수 이름앞에 under-bar('_')가 붙는데 vc 등에서 만든 dll에서는 under-bar가 없으므로
import-library를 만들때 강제로 under-bar 를 붙여주는 옵션이 -a 인 것이죠

다음은 BCB2007이 설치된 제pc에서 implib/? 내용입니다.
구버젼과 옵션이 많이 달라졌네요
--------------------------------------------------------------------------

CodeGear Implib Version 3.2.0 Copyright (c) 1991-2009 CodeGear

Syntax: IMPLIB [options] libname[.lib] [@respfile | srcname] [srcname ...]
Options:
    -a     Add '_' alias for MS flavor cdecl functions
    -aa    Force the alias even if the function already starts with '_'
    -c     Case sensitive symbols
    -f     Force imports by name (with hints)
    -w     No Warnings

Respfile may contain a list of source files to process.
Wildcards are ok for .DLL and .DEF file names.
--------------------------------------------------------------------
그럼..

+ -

관련 글 리스트
969 DLL을 가지고 lib 파일 만들기. 이경문 15303 2010/03/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.