basic_string --- 중복 ~~~ 링크 에러요 ~~

OpenGL 한글 (입)출력 라이브러리 "glan"에 대한 포럼입니다.

Moderator: 류광

비회원

basic_string --- 중복 ~~~ 링크 에러요 ~~

Post by 비회원 »

기존에 LIB 를 직업 추가해서 에러가 발생해서요

GLANG 소스코드를 메인 프로그램에 모두 넣어서. 컴파일을 해놓았는데두

msvcprtd.lib(MSVCP71D.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::max_size(void)const " (?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ)이(가) laid_diagnosis.obj에 이미 정의되어 있습니다.

이런식으로 몇개가 나오는데요 어떻게 해야하나용~~~~~~ 부탁드리옵니닷
eoh
Posts: 135
Joined: 2001-07-20 09:00
Location: REAL:DREAM
Contact:

Post by eoh »

msvcprtd.lib 에도 STL 라이브러리인 basic_string이 정의되어 있습니다.
그러므로 프로그램 링크시에 msvcprtd.lib 를 제거해보심이 바람직할지도 모르겠습니다..
어쩌면 stlport 없이 컴파일 해보시면 의외로 잘 될지도 모르겠습니다.
어느쪽이든, 에러의 소지는 있습니다.. ;ㅁ;

요는, 둘의 기능이 중복되므로, 둘중 택일해 보시기 바랍니다.
비회원

Re: basic_string --- 중복 ~~~ 링크 에러요 ~~

Post by 비회원 »

비회원 wrote:기존에 LIB 를 직업 추가해서 에러가 발생해서요

GLANG 소스코드를 메인 프로그램에 모두 넣어서. 컴파일을 해놓았는데두

msvcprtd.lib(MSVCP71D.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::max_size(void)const " (?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ)이(가) laid_diagnosis.obj에 이미 정의되어 있습니다.

이런식으로 몇개가 나오는데요 어떻게 해야하나용~~~~~~ 부탁드리옵니닷
LIB파일로 첨부하셨나보군요. 저도 이런 에러 겪었는데 인터넷 찾아보시면 해결책 나와요. 원래 있던 GLAN project 의 속성 설정에서 C/C++의 Code Generation 에서 Runtime Library를 원래 있던 Multi-threaded Debug (/MTd) 에서 Multi-threaded Debug DLL (/MDd) 로 바꾸신 다음 컴파일하셔서 거기 있던 lib를 질문자님의 작업프로젝트에 첨부하시면 됩니다. 당연히 질문자님의 프로젝트는 Multi-threaded Debug DLL (/MDd) 로 설정되어 있겠죠~
비회원

Re: basic_string --- 중복 ~~~ 링크 에러요 ~~

Post by 비회원 »

비회원 wrote:
비회원 wrote:기존에 LIB 를 직업 추가해서 에러가 발생해서요

GLANG 소스코드를 메인 프로그램에 모두 넣어서. 컴파일을 해놓았는데두

msvcprtd.lib(MSVCP71D.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::max_size(void)const " (?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ)이(가) laid_diagnosis.obj에 이미 정의되어 있습니다.

이런식으로 몇개가 나오는데요 어떻게 해야하나용~~~~~~ 부탁드리옵니닷
LIB파일로 첨부하셨나보군요. 저도 이런 에러 겪었는데 인터넷 찾아보시면 해결책 나와요. 원래 있던 GLAN project 의 속성 설정에서 C/C++의 Code Generation 에서 Runtime Library를 원래 있던 Multi-threaded Debug (/MTd) 에서 Multi-threaded Debug DLL (/MDd) 로 바꾸신 다음 컴파일하셔서 거기 있던 lib를 질문자님의 작업프로젝트에 첨부하시면 됩니다. 당연히 질문자님의 프로젝트는 Multi-threaded Debug DLL (/MDd) 로 설정되어 있겠죠~
읔.. 그러고보니 아래 포스트에 이미 있던 내용이네요^^
Post Reply