2013-09-24 2 views
-1

под кодом компилируется на Solaris с помощью Sun Studio, но на linux с помощью gcc он говорит, что strlen не является членом std.ошибка strlen не входит в std только на linux не на solaris

inline std::string pathname(char const *p) 
{ 
    std::string pname; 
    std::transform(p, p+std::strlen(p), std::back_inserter(pname), platform::switch_slash); 
    return pname; 
} 

Благодаря

+0

И вы включили '' , а не '' ? –

+0

Каковы ваши директивы '# include'? И какую версию Solaris, Linux и GCC вы используете? – Dai

+0

Для чего стоит переносить код из Windows в Linux, и я столкнулся с тем же. juanchopanza был прав. –

ответ

6

Вы должны включить заголовок cstring получить std::strlen:

#include <cstring> 
Смежные вопросы