I am trying to compile the following very very simple piece of source code:
#include <cstring>
// #include <string.h>
// using namespace std;
class Helper {
public:
int cStringsAreEqual(const char *s1, const char *s2) {
return stricmp(s1, s2);
}
};
... but I am getting the following error message:
g++ error: ‘stricmp’ was not declared in this scope
However when I use strcmp() instead of stricmp() then everything is fine!
What can be wrong here? Shouldn't stricmp() be allowed when strcmp() is allowed?
Sureley, this all could be written in a much better way without using strcmp/stricmp.
But that's not the point here.
I am porting a piece of software - which makes much use of calls to stricmp(). And if somehow possible I would like to avoid all of the efforts needed to change every call to stricmp.
Any help on this would be very much appreciated!
BTW: I am using Ubuntu karmic OS (v9.10) with g++ v4.4.1.
BTW: as you can see I also made some trials with '#include string.h' or with 'namespace std' but nothing helped.
<string.h>
and<cstring>
aren't exactly the some. It's not the cause of your problem, but you'll need to writestd::strcmp
(orstd::strcoll
) rather than assuming the names are imported into the global namespace. – Toby Speight