문제

Windows의 TDM -MINGW G ++ 4.4.0에서 -std = gnu ++ 0x 매개 변수로 구축 된 응용 프로그램이 있습니다.

Ofstream 객체를 사용하고 있으며 빌드시 다음 링크 오류가 제공됩니다.

c:\opt\Noddler/main_func.cpp:43: undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(std::string const&, std::_Ios_Openmode)'

기본 기본 표준을 사용할 때 제대로 구축됩니다.

이것은 유일한 오류이며 -lstdc ++와 연결하려는 것은 도움이되지 않습니다. 누군가 전에 이것을 경험 한 적이 있습니까? 제안을받을 수 있습니까?

편집 : 나는 다음과 같은 스트림 객체를 만들고 있습니다.

std::string filename = string("noddler\\") + callobj.get_ucid() + "_" + callobj.gram_counter() + ".grxml";
ofstream grxml_file(string("C:\\CWorld\\Server\\Grammar\\") + filename);
...
grxml_file.close();

잘 컴파일되고 있지만 연결되지는 않습니다.

도움이 되었습니까?

해결책

나는 당신이 다음과 같은 코드를 가지고 있다고 생각합니다.

string fname = "foo.txt";
ifstream ifs( fname );

변경해보십시오.

ifstream ifs( fname.c_str() );

사용중인 헤더 파일이 링크하는 라이브러리와 다소 벗어난 경우 발생할 수 있습니다. 이것이 작동하지 않으면 문제를 일으키는 코드를 게시하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top