= Сообщение: 6034 из 12549 ====================================== ENET.SYSOP = От : Torsten Bamberg 2:240/5832 16 Feb 18 23:50:00 Кому : Benny Pedersen 16 Feb 18 23:50:00 Тема : Nlcheck report FGHI : area://ENET.SYSOP?msgid=2:240/5832+5a876867 На : area://ENET.SYSOP?msgid=2:230/0+5a8762e6 = Кодировка сообщения определена как: CP850 ================================== ============================================================================== Hallo Benny!
16.02.2018 22:59, Benny Pedersen schrieb an Torsten Bamberg:
BP> nlcheckw32.c:(.text+0x214f): undefined reference to `strnicmp' BP> on linux i still have this linker error, note its not compile error :) As Alexey wrote; strnicmp is a function from borland c. Usually strnicmp is implemented with string.h on gcc. BUT possibly this is a 32bit only function and not implemented with gcc /64bit. By this, a 64bit gcc won't compile and link properly. Sometimes the problem is not with the code, or with the compiler. 99,9 percent of all problems are in front of the screen, not behind. ;-)
For a better portability it's quite nice to use metadefinitions for the code. like __LINIX__ or __GCC__ or similar.
# ifdef __LINUX__ BP> #ifndef stricmp BP> #define stricmp(x,y) strcasecmp(x,y) BP> #endif # endif /* defined linux for portability */
BP> ----- patch ends -----
Okay, now listen; your gcc wants to have _strnicmp_. defined by your code is only _stricmp_. strnicmp is != stricmp
Also strcasecomp != strnicmp , the size (length) of the string has to be defined while execute the function. Just take a look into the references of string.h of your compiler. Hint: strncasecmp, okay?
BP> note linux is filenames cASe sensitive, so if author changes it to BP> lowerCASE always it would be nice :=) Does he? Take a look into the man page of the 'make' command. Make is able to convert names to lower or to upper, if requested. ;-)
Well, feel free to add pgrms.ger to your echolist. It's our german echo, but usually anwers can answered in english as well. Also Dansk is usually readable. ;-)