[ 완료 ] [ VS9.0 ] dll 프로젝트에서 lib사용하기
글쓴이: dehetdehet / 작성시간: 화, 2012/07/03 - 6:21오후
dll프로젝트( MFC )에서 lib를 받아와 사용해야 하는데요.
CRT 설정이 dll은 /MDd, 사용해야 하는 라이브러리는 /MTd로 작성되어 있습니다.
역시나 그냥 실행하니 LNK2005 에러가 마구마구 나오는데요.
CRT는 라이브러리 무시로 처리하니 정리가 되는 느낌인데요.
빌드하면 CPRT( C++ Runtime Library )에서 링크에러가 마구마구 나옵니다. c++ 코드가 안들어갔을리가 없으니-_-;;
여기서부턴 거의 문외한인지라 CPRT까지 무시할 라이브러리에 추가했다가....-_-포풍 에러를 만났습니다.
반대의 경우인 lib프로젝트에서 dll을 사용할때의 문제가 stackoverflow에 올라온걸 봤는데요, 거기서는 컴파일러 명령줄에서 /FORCE옵션을 사용하라는 글이 보이더라고요.
제 경우에는 잘 적용되지 않는 것으로 보입니다. 애초에 변경점이 없으니 제가 제대로 적용하고 있는지도 모르겠고요.
사실 DLL을 처음 사용해 보는지라, 아직도 많이 혼란스럽습니다.
이 문제점을 해결할 수 있을까요?
읽어 주셔서 감사합니다~
Forums:
바로 자답입니다-_-;
다시 정확한 폴더로 /FORCE를 입력했을때 두번째 중복 로드된 런타임 라이브러리가 무시되는걸 확인했고
C++ 런타임 라이브러리를 무시했을때도 해당 에러가 사라지는걸 확인했습니다.
일단 양쪽 다 에러가 경고로 치환됩니다.
-_-..질문을 해놓고 결국 그게 다 먹히고 있는 상황이었네요.
이 민망함을 잊지 않기 위해 글은 지우지 않습니다- _-);;
dll을 만들어 보시면 좋겠네요.
지금 말씀 하시는것은 lib를 연결하지 못해서로 보입니다.
1. #pragma comment (lib, "라이브러리.lib") //이런 식으로 lib 연결이 되지 않았거나
2. 프로젝트 디렉토리 경로참조시 include 와 lib 우선 순위 때문이기도 합니다.
3. 또는 파일 헤더의 #include 순위가 중복되거나 참조되지 않아서 이기도 하구요.
4. WorkSpace 프로젝트에 소스 파일이 없을 경우도 종종 있기도 합니다. 이것은 아니겁니다. 라이브러리 참조니까요.
//참고용 링크
http://blog.daum.net/bronzlab/6606901
http://social.msdn.microsoft.com/Forums/ko-KR/visualcplusko/thread/7842872b-97f3-445c-89c4-74ad3e08fd9f
http://diehard98.tistory.com/95
http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx
http://batsu05.egloos.com/2500348
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기