|
역시 예상했던 대로 dll을 사용하려고 하셨던 거군요..
hicpd530.dll은 cp530l1a.c 의 주석으로 보아 Visual C++용 dll인듯 합니다.
dll을 사용하는 방법은 두가지가 있습니다.
h, lib, dll이 있다면 h와 lib 만 프로젝트로 링크해서 사용하실 수 있구요, (정적인 방법)
h, dll만 있다면 h로 함수원형을 얻고, dll을 Loadlibrary 로 열어서 실제 바인딩되는 주소를
실시간으로 찾아서 그 함수를 사용하실 수 있습니다. (동적인 방법)
그냥, 지금처럼 dll 과 h 만 있다면,
특히 지금처럼 Visual C용으로 만들어진 dll인 경우에는 속편하게 dll로부터 빌더용 lib를
뽑아내어 lib를 프로젝트로 add하시고 정적으로 쓰실 수 있습니다. (특별한 경우에는 안됩니다. ㅋ)
dll을 MFC전용의 class를 사용하여 만들었다던지.. 이런 경우가 있습니다. 이 때는 안됩니다.
포럼에 VC용 dll을 빌더에서 사용하기에 대해서는 세부적인 내용을 잘 설명한 게시물이
있습니다. 검색하셔서 따라해 보시면 초보에서 조금씩 벗어나시는 계기가 될 것으로
여겨집니다.
검색해서 링크를 올려드리는 것이 좋으나, 연습삼아 검색도 해보시라고, (ㅋㅋ 저의 게으름이..)
화이팅하시길..
박경완 님이 쓰신 글 :
: Nibble 님 답변 감사 드립니다.
:
: #ifndef hicpd530.h
: #define hicpd530.h
: ~~내용
: #endif
:
: 라고 알려 주셔서 그렇게 해보니...다시또 다른 에러가 발생하네요...이건 어디가 끝인지..
: 혹시 제가 사용할려는 헤더가 빌더로 안되는 건가 싶기도 하고요...ㅜㅜ
: 헤더 한번 올려 볼테니 한번 봐주시면 감사드리겠습니다.
: 빌더초보 여기서 포기하지 않게 도와 주셔서 감사합니다.
:
:
:
: Nibble 님이 쓰신 글 :
: : 하나의 cpp화일 안에서 hicpd530.h가 여러번 include되었기 때문입니다.
: : hicpd530.h 화일의 제일 첫부분과 마지막을
: : #ifndef HICPD530_H
: : #define HICPD530_H
: :
: : ~~~ 내용
: :
: : #endif
: : 로 둘러 싸 보세요.
: :
: : 박경완 님이 쓰신 글 :
: : : 하다보니
: : :
: : : cp530l1a.h 헤더에서 hicpd530.h 를 또 호출하여 사용하는것을 알았습니다.
: : : 그래서 본 프로젝트에서 한번더 호출을해보았습니다.
: : : #include "hicpd530.h"
: : : 해보니
: : :
: : : #define INVALID_BUS_NUMBER 0xffffffff
: : : #define INVALID_DEV_NUMBER 0xffffffff
: : : #define INVALID_IO_ADDRESS 0xffffffff
: : : #define INVALID_IRQ_NUMBER 0xffffffff
: : : #define INVALID_HPC_NUMBER 0xffffffff
: : : #define INVALID_BOARD_ID 0xffffffff
: : :
: : :
: : :
: : : typedef struct _HPCDEVICEINFO { //에러발생 부분
: : : DWORD nBusNumber;
: : : DWORD nDeviceNumber;
: : : DWORD dwIoPortAddress;
: : : DWORD dwIrqNo;
: : : DWORD dwNumber;
: : : DWORD dwBoardID;
: : : }
: : : HPCDEVICEINFO, * PHPCDEVICEINFO;
: : :
: : : -----------------------------------------------------------------------------
: : : [C++ Error] hicpd530.h(24): E2238 Multiple declaration for '_HPCDEVICEINFO'
: : : [C++ Error] hicpd530.h(24): E2344 Earlier declaration of '_HPCDEVICEINFO'
: : : [C++ Error] hicpd530.h(32): E2146 Need an identifier to declare
: : : [C++ Warning] Unit1.cpp(34): W8004 'ret' is assigned a value that is never used
: : : -------------------------------------------------------------------------------
: : : 발생합니다...흠냐..왜 이러죠..
|