undefined reference to stricmp
Ich versuche zu erstellen, die eine Methode sucht und ersetzt eine Zeichenfolge innerhalb einer Zeichenfolge, aber ich habe wohl einige Fehler zur compile-Zeit mit es. Könnte ich etwas Hilfe in herauszufinden, was Los ist?
void replaceString(char *find, char *replace)
{
int len_string,i;
char temp[30];
len_string=strlen(find);
while(1)
{
for(i=0;i<len_string;i++) temp[i]=fgetc(edit);
temp[i+1]=NULL;
/* the stricmp() is used for comparing both string. */
if(stricmp(find,temp)==0)
{
fprintf(edit,"%s ",replace);
fclose(edit);
exit(1);
}
fseek(edit,-(len_string-1),1);
}
}
den Fehler bekomme ich bei der Kompilierung wird undefined reference to stricmp.
Ich weiß, es ist nicht die richtige Codierung Konvention, aber Bearbeiten (Objekt vom Typ FILE) derzeit ist eine Globale variable.
Du musst angemeldet sein, um einen Kommentar abzugeben.
stricmp
ist Windows-spezifisch. Wenn Sie nicht auf Windows,strcasecmp
.strncasecmp
ist der gleichwertige Ersatz fürstrnicmp
zu.Tatsächlich, der Fehler ist bei der link-Zeit und NICHT zur compile-Zeit. Deinen code habe erstellt, um eine Objekt-Datei erwartet Durchführung von stricmp, während die Verknüpfung mit anderen Objekt-Dateien, die Sie nicht finden konnte. Daher der Fehler: "undefined reference to stricmp". Als bmargulies wies darauf hin, die Umsetzung ist nur auf Windows-Bibliotheken. Wechseln Sie zu strcasecmp (), wenn Sie auf POSIX-konformen Systemen.