gcc -pthread -Wall -Wextra -Werror=implicit-function-declaration iconv/iconv.c -o iconv/iconv -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lpthread -lrt -lxnet -lsocket -latomic iconv/iconv.c: In function 'main': iconv/iconv.c:30:37: error: passing argument 2 of 'iconv' from incompatible pointer type [-Wincompatible-pointer-types] 30 | size_t result = iconv(conv, &input, &input_left, &output, &output_left); | ^~~~~~ | | | char ** In file included from iconv/iconv.c:3: /usr/include/iconv.h:47:32: note: expected 'const char ** restrict' but argument is of type 'char **' 47 | extern size_t iconv(iconv_t, const char **_RESTRICT_KYWD, | ^ iconv/iconv.c:43:30: error: passing argument 2 of 'iconv' from incompatible pointer type [-Wincompatible-pointer-types] 43 | result = iconv(conv, &input, &input_left, &output, &output_left); | ^~~~~~ | | | char ** /usr/include/iconv.h:47:32: note: expected 'const char ** restrict' but argument is of type 'char **' 47 | extern size_t iconv(iconv_t, const char **_RESTRICT_KYWD, | ^ iconv/iconv.c:64:30: error: passing argument 2 of 'iconv' from incompatible pointer type [-Wincompatible-pointer-types] 64 | result = iconv(conv, &input, &input_left, &output, &output_left); | ^~~~~~ | | | char ** /usr/include/iconv.h:47:32: note: expected 'const char ** restrict' but argument is of type 'char **' 47 | extern size_t iconv(iconv_t, const char **_RESTRICT_KYWD, | ^