본문 바로가기

Programming/MFC

DLL 인터페이스 사용하도록 지정해야 합니다

출처 꿈많은 어른이된 덕열 | 뿡뿌루뿡
원문 http://blog.naver.com/mujige77/20018114080



음... 처음으로 dll을 만드는데 힘들다 ㅡ,.ㅡㅋ

이것저것 오류도 드럽게 많이 뜨고 킁! 이 오류에대하여 한번 써보도록 하겠다 ㅋㅋㅋ

결국에 잡았당께롱~~~ 윤덕열~~ 대단하다 ㅋㅋㅋ


dll 제작시에 STL{스트럭쳐 사용시에도 해당되는 것같다.}을 사용시에 이런 오류가 난다


warning C4251: 'CTest::m_test' : class 'std::vector<_Ty>'에서는 class 'CTest'의 클라이언트에서DLL인터페이스를 사용하도록 지정해야 합니다.


warning C4251: 'TcCameraMgr::m_viewMT' : struct 'D3DXMATRIX'에서는 class 'TcCameraMgr'의 클라이언트에서 DLL 인터페이스를 사용하도록 지정해야 합니다.


이런 오류가 발생시에는 이런식으로 변환 해주어야 한다고 한다.


#define DLLAPI __declspec(dllexport)
#define DLLEXPORT_STRUET

DLLEXPORT_STRUET struct DLLAPI D3DXVECTOR3;
DLLEXPORT_STRUET struct DLLAPI D3DXMATRIX;


음... 이건 스트럭쳐에 오류가 생겼을 때이고 stl은 다음과 같다

 

# define DECLSPECIFIER __declspec(dllexport)
# define EXPIMP_TEMPLATE

EXPIMP_TEMPLATE template class DECLSPECIFIER std::vector<int>;
EXPIMP_TEMPLATE template class DECLSPECIFIER std::vector<char>
;


음... 역시 코딩은 어렵다  ㅡ,.ㅡ 킁!

에~ 참고로 이 방법은 지피지에서 배웠으며 싸이트는 다음과 같다

http://www.gpgstudy.com/


그럼.... 마지막으로 이방법을 널리 이롭게 퍼뜨려 주신 분들께 감사드리며

지피지 손님중 한명이 올려 주신 관련 문서를 첨부 파일로 올리도록 하겠다 그럼 이만~


파일을 올리긴 했는데 ㅡ,.ㅡ 다운이 안되내염 킁! 뭐~~염!!!!!!!

보고싶으신 분은 멜주소와 함께~ 뎃글을  남겨주삼~~