2009-10-26 3 views
9

는 다음 코드와 링커 오류가 발생합니다 :std :: regex - 링크가 필요한 라이브러리가 있습니까?

#include <regex> 

int main() 
{ 
    std::regex rgx("ello"); 
    return 0; 
} 

test.o: In function `basic_regex': 
/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/tr1_impl/regex:769: undefined reference to `std::basic_regex<char, std::regex_traits<char> >::_M_compile()' 
collect2: ld returned 1 exit status 
+0

http://www.johndcook.com/cpp_regex.html#headernamespace –

+0

std :: tr1이 제 컴파일러에 없습니다. – Scott

+0

내 버전 : gcc 버전 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC) – Scott

답변

7

template <...> 
class basic_regexp { 
... 
    private: 
     /** 
     * @brief Compiles a regular expression pattern into a NFA. 
     * @todo Implement this function. 
     */ 
     void _M_compile(); 

gcc-4.4.1/include/c++/4.4.1/tr1_impl/regex에서 나는 아직 준비가되지 않은 것 같아요.

업데이트 : 현재 출혈 가장자리 GCC (SVN @ 153546)에는 아직 구현이없는 것 같습니다.

+0

와우. :) 주위에 떠있는 예제가 있다는 것이 이상합니다. – Scott

+0

글쎄, 나는 출혈 가장자리 gcc 중 하나를 사용하지 않는 것 같아요. – Scott

+9

개발자에게 이렇게하는 것이 매우 가학 적이라고 말해야합니다! 개발자는 컴파일 타임에 구현되지 않았다는 경고를 출력하여 개발자가 잘못된 것을하고 있다고 생각하면서 너무 많은 시간을 낭비하지 않도록해야합니다. – krico

관련 문제