728x90
반응형
문제점 및 증상
오랜만에 라즈베리파이 3에서 C로 작업할 일이 생겨서, 이것 저것 찾아가며 소스를 작성하던 중에 "strnstr()" 함수를 이용하려던 중에 다음과 같은 오류가 발생하였습니다.
config_test.c:75:16: warning: implicit declaration of function ‘strnstr’; did you mean ‘strstr’? [-Wimplicit-function-declaration]
pStartPort = strnstr(buff, read_count, "\"PORT\":");
^~~~~~~
strstr
config_test.c:75:14: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
pStartPort = strnstr(buff, read_count, "\"PORT\":");
시험환경
Device | Raspberry Pi 3B |
---|---|
RAM | 1 GB |
OS | Linux raspberrypi 5.10.103-v7+ #1529 |
gcc | 8.3.0 (Raspbian 8.3.0-6+rpi1) |
해결 방안
구글을 통하여 찾아 보니, "strnstr()" 함수는 BSD 등에서 지원하는 것으로 일반 리눅스에서는 지원하지 않는다고 합니다.
그래서 "strstr()" 함수를 이용하도록 코드를 수정하여 동작시켰습니다. ^^;
참고자료
- "[42seoul] strnstr은 어떤 함수일까??":https://velog.io/@meong9090/42seoul-strnstr은-어떤-함수일까
- "undefined reference to `strnstr' how to fix it and run strnstr":https://stackoverflow.com/questions/47818195/