리플 고맙습니다.
그런데 문제가 COFF는 아닌것 같습니다.
일당 DLL파일을 사용하여 implib.exe 로 새로운 LIB 파일을 생성하면 이 파일은
이때 OMF파일로 자동으로 변환이 되는것 같습니다.
따라서 implib에서 생성된 LIB파일로 다시 Coff2Omf를 실행 시키면 해당 파일은 이미 OMF파일 형식을
가지고 있다고 메세지가 나옵니다.
제 생각에 Visual C++에서 작성된 DLL을 사용하여 implib.exe로 Builder용 LIB 파일을
만드는것 까지는 정상적으로 되나 왠일일지
Add Project에 새로 만든 LIB를 추가 하였는데 분면 DLL 파일 안에 들어 있는 함수 인데
LINK할때 "[Link Error] Unresolved External 함수명 referenced from .. OBJ " 에러가
나타난다는 것입니다.
해당 에러는 DLL안에서 해당 함수를 찾을수가 없다는 것 같은데 왜그런지 알수가 없습니다.
부디 고수님들 도움을 부탁 드립니다.
;;^^
박세용 님이 쓰신 글 :
: Coff2Omf 사용하세요.
:
: 아래는 빌더 헬프 가져온 겁니다.
:
: -----------------------------------------------------------------------------------------
:
: Coff2Omf is a command line tool that converts a COFF import library file (InputFile) to a corresponding OMF import library file (OutputFile). Coff2Omf.exe is located in the C++Builder BIN directory. The syntax is:
:
: Coff2Omf [options] InputFile OutputFile
:
: Coff2Omf converts the publicly exported symbols in the COFF import library to a corresponding set of symbols in the OMF import library. Coff2Omf enables C++Builder users to link to Microsoft and other third-party DLLs that use the COFF format. Coff2Omf does not convert .OBJ files.
:
: Run the Coff2Omf tool on a COFF import library created for a specific DLL, and use the resulting import library to link OMF format EXEs and DLLs to the COFF DLL. The switches for Coff2Omf are:
:
: -q - Quiet mode (converts without writing tool and copyright information to standard output)
: -v - Dump of selected symbols (dumps the symbols that have been converted to standard output which can be redirected to an output file)
: -d - Delete output file if empty (deletes the output file there is an error and the conversion results in an empty file)
: -h, -? Display help
: -r - Remove (delete) output file if empty
:
: -lib:xx Specify options for OMF import library generation:
: xx can be:
:
: ? ms - Allow entries that have MS C++ name mangling (default: no)
: ? st - Normalize names instead of aliasing MS stdcall mangling
: ? ca - Don't perform MS cdecl aliasing (default is to alias)
:
:
:
: choi 님이 쓰신 글 :
: : 안녕하세요.
: :
: : 외부 하드웨어 제어를 하는데 제공되는 라이브러리가
: : Visual C++을 위한 *.H *.Lib *.DLL 이 있는데 이 라이브러리를 Builder에서
: : 사용하고 싶은데 잘 안되네요.
: :
: : 1. 제 코드에 해당 "*.H"를 include 하였고,
: : 2. Project에 Add로 "*.LIB"를 A추가 하였고
: : 3. Implib.exe 를 사용하여 LIB,DLL을 Import하였으나 (도스창에서 -c -a Option을 사용함)
: :
: : => Link시에 "[Link Error] Unresolved External 함수명 referenced from .. OBJ " 이란 에러가 나옴니다.
: :
: : 제 생각에는 Visual C++과 Builder의 cdcel이 서로 다르다는 어설픈 정보는 보았는데
: : .. 뒤쪽의 몇몇 메세지들을 보았지만 무슨 내용인지 이해를 할수가 없고...
: :
: : 그리고 VC쪽의 코드는 건들수가 없습니다.
: :
: : 혹시 Visual C++용 LIB나 DLL을 Builder용으로 바꾸어주는 유틸리티나 방법을 알고 계신분
: : 제발 도움좀 부탁 드립니다.
: :
: :
: : 고수님들께....
: :
: :
|