Я пытаюсь скомпилировать следующий очень простой фрагмент исходного кода:
#include <cstring>
// #include <string.h>
// using namespace std;
class Helper {
public:
int cStringsAreEqual(const char *s1, const char *s2) {
return stricmp(s1, s2);
}
};
... но я получаю следующее сообщение об ошибке:
g++ error: ‘stricmp’ was not declared in this scope
Однако, когда я использую strcmp() вместо stricmp(), тогда все в порядке!
Что здесь может быть неправильным? Должна ли разрешаться функция stricmp() при разрешении strcmp()?
Sureley, все это можно было бы написать гораздо лучше, не используя strcmp/stricmp.
Но это не главное.
Я переношу часть программного обеспечения, которое широко использует вызовы stricmp(). И если возможно, я хотел бы избежать всех усилий, необходимых для изменения каждого вызова stricmp.
Любая помощь по этому поводу будет очень оценена!
BTW: Я использую кармическую ОС Ubuntu (v9.10) с g++ v4.4.1.
Кстати: как вы можете видеть, я также провел несколько испытаний с "#include string.h" или с "namespace std", но ничего не помогло.