martin-ger / esp32_nat_router

A simple NAT Router for the ESP32
1.27k stars 268 forks source link

build error #138

Open emadkavousi opened 9 months ago

emadkavousi commented 9 months ago

I tried to build the project in windows with esp-idf 5.0.2 and i get several errors so i copy all logs here .please help me:

In file included from C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_system/cmd_system.c:17: C:/Espressif/frameworks/esp-idf-v5.0.2/components/spi_flash/include/esp_spi_flash.h:6:2: warning: #warning esp_spi_flash.h is deprecated, please use spi_flash_mmap.h instead [-Wcpp] 6 | #warning esp_spi_flash.h is deprecated, please use spi_flash_mmap.h instead | ^~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_system/cmd_system.c:18:10: fatal error: driver/rtc_io.h: No such file or directory 18 | #include "driver/rtc_io.h" | ^~~~~ compilation terminated.

C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_router/cmd_router.c:15:10: fatal error: esp_spi_flash.h: No such file or directory 15 | #include "esp_spi_flash.h" | ^~~~~ compilation terminated.

C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_nvs/cmd_nvs.c: In function 'get_value_from_nvs': C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_nvs/cmd_nvs.c:295:22: error: format '%d' expects argument of type 'int', but argument 2 has type 'int32_t' {aka 'long int'} [-Werror=format=] 295 printf("%d\n", value); ~^ ~
int int32_t {aka long int}
%ld
C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_nvs/cmd_nvs.c:300:22: error: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 300 printf("%u\n", value); ~^ ~
uint32_t {aka long unsigned int}
unsigned int
%lu
C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_nvs/cmd_nvs.c: In function 'list': C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_nvs/cmd_nvs.c:377:25: error: too few arguments to function 'nvs_entry_find' 377 nvs_iterator_t it = nvs_entry_find(part, NULL, type); ^~~~~~ In file included from C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_nvs/cmd_nvs.c:22: C:/Espressif/frameworks/esp-idf-v5.0.2/components/nvs_flash/include/nvs.h:658:11: note: declared here 658 esp_err_t nvs_entry_find(const char *part_name, ^~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_nvs/cmd_nvs.c:386:29: warning: passing argument 1 of 'nvs_entry_next' from incompatible pointer type [-Wincompatible-pointer-types] 386 it = nvs_entry_next(it); ^~
nvs_iterator_t {aka struct nvs_opaque_iterator_t *}

In file included from C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_nvs/cmd_nvs.c:22: C:/Espressif/frameworks/esp-idf-v5.0.2/components/nvs_flash/include/nvs.h:678:42: note: expected 'struct nvs_opaque_iterator_t *' but argument is of type 'nvs_iterator_t' {aka 'struct nvs_opaque_iterator_t '} 678 | esp_err_t nvs_entry_next(nvs_iterator_t iterator); | ~~~~^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_nvs/cmd_nvs.c:386:12: warning: assignment to 'nvs_iterator_t' {aka 'struct nvs_opaque_iterator_t '} from 'esp_err_t' {aka 'int'} makes pointer from integer without a cast [-Wint-conversion] 386 | it = nvs_entry_next(it); | ^ cc1.exe: some warnings being treated as errors

C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/pages.h:167:70: warning: backslash-newline at end of file 167 #define LOCK_PAGE "HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n\

In file included from C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/http_server.c:24: C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_router/router_globals.h:43:23: error: unknown type name 'u8_t' 43 | esp_err_t add_portmap(u8_t proto, u16_t mport, u32_t daddr, u16_t dport); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_router/router_globals.h:43:35: error: unknown type name 'u16_t' 43 | esp_err_t add_portmap(u8_t proto, u16_t mport, u32_t daddr, u16_t dport); | ^~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_router/router_globals.h:43:48: error: unknown type name 'u32_t' 43 | esp_err_t add_portmap(u8_t proto, u16_t mport, u32_t daddr, u16_t dport); | ^~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_router/router_globals.h:43:61: error: unknown type name 'u16_t' 43 | esp_err_t add_portmap(u8_t proto, u16_t mport, u32_t daddr, u16_t dport); | ^~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_router/router_globals.h:44:23: error: unknown type name 'u8_t' 44 | esp_err_t del_portmap(u8_t proto, u16_t mport); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/components/cmd_router/router_globals.h:44:35: error: unknown type name 'u16_t' 44 | esp_err_t del_portmap(u8_t proto, u16_t mport); | ^~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/http_server.c:258:13: warning: 'stop_webserver' defined but not used [-Wunused-function] 258 | static void stop_webserver(httpd_handle_t server) | ^~~~~~

In file included from C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:38: C:/Espressif/frameworks/esp-idf-v5.0.2/components/lwip/lwip/src/include/lwip/lwip_napt.h:102:29: warning: 'struct netif' declared inside parameter list will not be visible outside of this definition or declaration 102 | ip_napt_enable_netif(struct netif netif, int enable); | ^~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c: In function 'initialize_filesystem': C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:95:5: warning: 'esp_vfs_fat_spiflash_mount' is deprecated: esp_vfs_fat_spiflash_mount is deprecated, please use esp_vfs_fat_spiflash_mount_rw_wl instead [-Wdeprecated-declarations] 95 | esp_err_t err = esp_vfs_fat_spiflash_mount(MOUNT_PATH, "storage", &mount_config, &wl_handle); | ^~~~~ In file included from C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:20: C:/Espressif/frameworks/esp-idf-v5.0.2/components/fatfs/vfs/esp_vfs_fat.h:292:11: note: declared here 292 | esp_err_t esp_vfs_fat_spiflash_mount(const char base_path, | ^~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c: In function 'print_portmap_tab': C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:135:13: error: unknown type name 'ip4_addr_t'; did you mean 'in_addr_t'? 135 | ip4_addr_t addr; | ^~~~~~ | in_addr_t C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:136:17: error: request for member 'addr' in something not a structure or union 136 | addr.addr = my_ip; | ^ In file included from C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif.h:12, from C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_wifi/include/esp_wifi_default.h:10, from C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_wifi/include/esp_wifi.h:58, from C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:25: C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:72: error: request for member 'addr' in something not a structure or union 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:43:31: note: in expansion of macro 'esp_ip4_addr_get_byte' 43 | #define esp_ip4_addr1(ipaddr) esp_ip4_addr_get_byte(ipaddr, 0) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:49:45: note: in expansion of macro 'esp_ip4_addr1' 49 | #define esp_ip4_addr1_16(ipaddr) ((uint16_t)esp_ip4_addr1(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:54:24: note: in expansion of macro 'esp_ip4_addr1_16' 54 | #define IP2STR(ipaddr) esp_ip4_addr1_16(ipaddr), \ | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:137:37: note: in expansion of macro 'IP2STR' 137 | printf (IPSTR":%d -> ", IP2STR(&addr), portmap_tab[i].mport); | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:72: error: request for member 'addr' in something not a structure or union 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:44:31: note: in expansion of macro 'esp_ip4_addr_get_byte' 44 | #define esp_ip4_addr2(ipaddr) esp_ip4_addr_get_byte(ipaddr, 1) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:50:45: note: in expansion of macro 'esp_ip4_addr2' 50 | #define esp_ip4_addr2_16(ipaddr) ((uint16_t)esp_ip4_addr2(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:55:5: note: in expansion of macro 'esp_ip4_addr2_16' 55 | esp_ip4_addr2_16(ipaddr), \ | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:137:37: note: in expansion of macro 'IP2STR' 137 | printf (IPSTR":%d -> ", IP2STR(&addr), portmap_tab[i].mport); | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:72: error: request for member 'addr' in something not a structure or union 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:45:31: note: in expansion of macro 'esp_ip4_addr_get_byte' 45 | #define esp_ip4_addr3(ipaddr) esp_ip4_addr_get_byte(ipaddr, 2) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:51:45: note: in expansion of macro 'esp_ip4_addr3' 51 | #define esp_ip4_addr3_16(ipaddr) ((uint16_t)esp_ip4_addr3(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:56:5: note: in expansion of macro 'esp_ip4_addr3_16' 56 | esp_ip4_addr3_16(ipaddr), \ | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:137:37: note: in expansion of macro 'IP2STR' 137 | printf (IPSTR":%d -> ", IP2STR(&addr), portmap_tab[i].mport); | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:72: error: request for member 'addr' in something not a structure or union 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:46:31: note: in expansion of macro 'esp_ip4_addr_get_byte' 46 | #define esp_ip4_addr4(ipaddr) esp_ip4_addr_get_byte(ipaddr, 3) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:52:45: note: in expansion of macro 'esp_ip4_addr4' 52 | #define esp_ip4_addr4_16(ipaddr) ((uint16_t)esp_ip4_addr4(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:57:5: note: in expansion of macro 'esp_ip4_addr4_16' 57 | esp_ip4_addr4_16(ipaddr) | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:137:37: note: in expansion of macro 'IP2STR' 137 | printf (IPSTR":%d -> ", IP2STR(&addr), portmap_tab[i].mport); | ^~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:138:17: error: request for member 'addr' in something not a structure or union 138 | addr.addr = portmap_tab[i].daddr; | ^ I | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:410:137: note: in expansion of macro 'IP2STR' 410 | if (level==ESP_LOG_ERROR ) { esp_log_write(ESP_LOG_ERROR, tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:52:45: note: in expansion of macro 'esp_ip4_addr4' 52 | #define esp_ip4_addr4_16(ipaddr) ((uint16_t)esp_ip4_addr4(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:57:5: note: in expansion of macro 'esp_ip4_addr4_16' 57 | esp_ip4_addr4_16(ipaddr) | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:410:137: note: in expansion of macro 'IP2STR' 410 | if (level==ESP_LOG_ERROR ) { esp_log_write(ESP_LOG_ERROR, tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##__VA_ARGS); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:49:45: note: in expansion of macro 'esp_ip4_addr1' 49 | #define esp_ip4_addr1_16(ipaddr) ((uint16_t)esp_ip4_addr1(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:54:24: note: in expansion of macro 'esp_ip4_addr1_16' 54 | #define IP2STR(ipaddr) esp_ip4_addr1_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:411:137: note: in expansion of macro 'IP2STR' 411 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS__) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:50:45: note: in expansion of macro 'esp_ip4_addr2' 50 | #define esp_ip4_addr2_16(ipaddr) ((uint16_t)esp_ip4_addr2(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:55:5: note: in expansion of macro 'esp_ip4_addr2_16' 55 | esp_ip4_addr2_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:411:137: note: in expansion of macro 'IP2STR' 411 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:51:45: note: in expansion of macro 'esp_ip4_addr3' 51 | #define esp_ip4_addr3_16(ipaddr) ((uint16_t)esp_ip4_addr3(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:56:5: note: in expansion of macro 'esp_ip4_addr3_16' 56 | esp_ip4_addr3_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:411:137: note: in expansion of macro 'IP2STR' 411 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##__VA_ARGS); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:52:45: note: in expansion of macro 'esp_ip4_addr4' 52 | #define esp_ip4_addr4_16(ipaddr) ((uint16_t)esp_ip4_addr4(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:57:5: note: in expansion of macro 'esp_ip4_addr4_16' 57 | esp_ip4_addr4_16(ipaddr) | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:411:137: note: in expansion of macro 'IP2STR' 411 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS__) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:49:45: note: in expansion of macro 'esp_ip4_addr1' 49 | #define esp_ip4_addr1_16(ipaddr) ((uint16_t)esp_ip4_addr1(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:54:24: note: in expansion of macro 'esp_ip4_addr1_16' 54 | #define IP2STR(ipaddr) esp_ip4_addr1_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:412:137: note: in expansion of macro 'IP2STR' 412 | else if (level==ESP_LOG_DEBUG ) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:50:45: note: in expansion of macro 'esp_ip4_addr2' 50 | #define esp_ip4_addr2_16(ipaddr) ((uint16_t)esp_ip4_addr2(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:55:5: note: in expansion of macro 'esp_ip4_addr2_16' 55 | esp_ip4_addr2_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:412:137: note: in expansion of macro 'IP2STR' 412 | else if (level==ESP_LOG_DEBUG ) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##__VA_ARGS); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:51:45: note: in expansion of macro 'esp_ip4_addr3' 51 | #define esp_ip4_addr3_16(ipaddr) ((uint16_t)esp_ip4_addr3(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:56:5: note: in expansion of macro 'esp_ip4_addr3_16' 56 | esp_ip4_addr3_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:412:137: note: in expansion of macro 'IP2STR' 412 | else if (level==ESP_LOG_DEBUG ) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS__) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:52:45: note: in expansion of macro 'esp_ip4_addr4' 52 | #define esp_ip4_addr4_16(ipaddr) ((uint16_t)esp_ip4_addr4(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:57:5: note: in expansion of macro 'esp_ip4_addr4_16' 57 | esp_ip4_addr4_16(ipaddr) | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:412:137: note: in expansion of macro 'IP2STR' 412 | else if (level==ESP_LOG_DEBUG ) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:49:45: note: in expansion of macro 'esp_ip4_addr1' 49 | #define esp_ip4_addr1_16(ipaddr) ((uint16_t)esp_ip4_addr1(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:54:24: note: in expansion of macro 'esp_ip4_addr1_16' 54 | #define IP2STR(ipaddr) esp_ip4_addr1_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:413:137: note: in expansion of macro 'IP2STR' 413 | else if (level==ESP_LOG_VERBOSE ) { esp_log_write(ESP_LOG_VERBOSE, tag, LOG_FORMAT(V, format), esp_log_timestamp(), tag, ##__VA_ARGS); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:50:45: note: in expansion of macro 'esp_ip4_addr2' 50 | #define esp_ip4_addr2_16(ipaddr) ((uint16_t)esp_ip4_addr2(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:55:5: note: in expansion of macro 'esp_ip4_addr2_16' 55 | esp_ip4_addr2_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:413:137: note: in expansion of macro 'IP2STR' 413 | else if (level==ESP_LOG_VERBOSE ) { esp_log_write(ESP_LOG_VERBOSE, tag, LOG_FORMAT(V, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS__) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:51:45: note: in expansion of macro 'esp_ip4_addr3' 51 | #define esp_ip4_addr3_16(ipaddr) ((uint16_t)esp_ip4_addr3(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:56:5: note: in expansion of macro 'esp_ip4_addr3_16' 56 | esp_ip4_addr3_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:413:137: note: in expansion of macro 'IP2STR' 413 | else if (level==ESP_LOG_VERBOSE ) { esp_log_write(ESP_LOG_VERBOSE, tag, LOG_FORMAT(V, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:52:45: note: in expansion of macro 'esp_ip4_addr4' 52 | #define esp_ip4_addr4_16(ipaddr) ((uint16_t)esp_ip4_addr4(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:57:5: note: in expansion of macro 'esp_ip4_addr4_16' 57 | esp_ip4_addr4_16(ipaddr) | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:413:137: note: in expansion of macro 'IP2STR' 413 | else if (level==ESP_LOG_VERBOSE ) { esp_log_write(ESP_LOG_VERBOSE, tag, LOG_FORMAT(V, format), esp_log_timestamp(), tag, ##__VA_ARGS); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:49:45: note: in expansion of macro 'esp_ip4_addr1' 49 | #define esp_ip4_addr1_16(ipaddr) ((uint16_t)esp_ip4_addr1(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:54:24: note: in expansion of macro 'esp_ip4_addr1_16' 54 | #define IP2STR(ipaddr) esp_ip4_addr1_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:414:137: note: in expansion of macro 'IP2STR' 414 | else { esp_log_write(ESP_LOG_INFO, tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS__) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:50:45: note: in expansion of macro 'esp_ip4_addr2' 50 | #define esp_ip4_addr2_16(ipaddr) ((uint16_t)esp_ip4_addr2(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:55:5: note: in expansion of macro 'esp_ip4_addr2_16' 55 | esp_ip4_addr2_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:414:137: note: in expansion of macro 'IP2STR' 414 | else { esp_log_write(ESP_LOG_INFO, tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:51:45: note: in expansion of macro 'esp_ip4_addr3' 51 | #define esp_ip4_addr3_16(ipaddr) ((uint16_t)esp_ip4_addr3(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:56:5: note: in expansion of macro 'esp_ip4_addr3_16' 56 | esp_ip4_addr3_16(ipaddr), \ | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:414:137: note: in expansion of macro 'IP2STR' 414 | else { esp_log_write(ESP_LOG_INFO, tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##__VA_ARGS); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:66: error: request for member 'u_addr' in something not a structure or union 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte' 42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx]) | ^~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:52:45: note: in expansion of macro 'esp_ip4_addr4' 52 | #define esp_ip4_addr4_16(ipaddr) ((uint16_t)esp_ip4_addr4(ipaddr)) | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/esp_netif/include/esp_netif_ip_addr.h:57:5: note: in expansion of macro 'esp_ip4_addr4_16' 57 | esp_ip4_addr4_16(ipaddr) | ^~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:414:137: note: in expansion of macro 'IP2STR' 414 | else { esp_log_write(ESP_LOG_INFO, tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##VA_ARGS__); } \ | ^~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Espressif/frameworks/esp-idf-v5.0.2/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS__) | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:347:13: note: in expansion of macro 'ESP_LOGI' 347 | ESP_LOGI(TAG, "set dns to:" IPSTR, IP2STR(&(dnsserver.u_addr.ip4))); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c: In function 'wifi_init': C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:368:5: error: unknown type name 'ip_addr_t'; did you mean 'in_addr_t'? 368 | ip_addr_t dnsserver; | ^~~~~ | in_addr_t C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:378:5: error: unknown type name 'tcpip_adapter_ip_info_t' 378 | tcpip_adapter_ip_info_t ipInfo_sta; | ^~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:381:27: error: request for member 'ip' in something not a structure or union 381 | my_ip = ipInfo_sta.ip.addr = ipaddr_addr(static_ip); | ^ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:381:38: error: implicit declaration of function 'ipaddr_addr' [-Werror=implicit-function-declaration] 381 | my_ip = ipInfo_sta.ip.addr = ipaddr_addr(static_ip); | ^~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:382:19: error: request for member 'gw' in something not a structure or union 382 | ipInfo_sta.gw.addr = ipaddr_addr(gateway_addr); | ^ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:383:19: error: request for member 'netmask' in something not a structure or union 383 | ipInfo_sta.netmask.addr = ipaddr_addr(subnet_mask); | ^ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:384:9: error: implicit declaration of function 'tcpip_adapter_dhcpc_stop' [-Werror=implicit-function-declaration] 384 | tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA); // Don't run a DHCP client | ^~~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:384:34: error: 'TCPIP_ADAPTER_IF_STA' undeclared (first use in this function) 384 | tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA); // Don't run a DHCP client | ^~~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:385:9: error: implicit declaration of function 'tcpip_adapter_set_ip_info' [-Werror=implicit-function-declaration] 385 | tcpip_adapter_set_ip_info(TCPIP_ADAPTER_IF_STA, &ipInfo_sta); | ^~~~~~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:394:5: error: implicit declaration of function 'IP4_ADDR' [-Werror=implicit-function-declaration] 394 | IP4_ADDR(&ipInfo_ap.netmask, 255,255,255,0); | ^~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:464:5: error: unknown type name 'dhcps_offer_t' 464 | dhcps_offer_t dhcps_dns_value = OFFER_DNS; | ^~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:464:37: error: 'OFFER_DNS' undeclared (first use in this function) 464 | dhcps_offer_t dhcps_dns_value = OFFER_DNS; | ^~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:465:5: error: implicit declaration of function 'dhcps_set_option_info' [-Werror=implicit-function-declaration] 465 | dhcps_set_option_info(6, &dhcps_dns_value, sizeof(dhcps_dns_value)); | ^~~~~ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:468:14: error: request for member 'u_addr' in something not a structure or union 468 | dnsserver.u_addr.ip4.addr = ipaddr_addr(DEFAULT_DNS);; | ^ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:469:14: error: request for member 'type' in something not a structure or union 469 | dnsserver.type = IPADDR_TYPE_V4; | ^ C:/Users/EMAD/ESP-32_projects/esp32_nat_router-master/main/esp32_nat_router.c:469:22: error: 'IPADDR_TYPE_V4' undeclared (first use in this function); did you mean 'ESP_IPADDR_TYPE_V4'? 469 | dnsserver.type = IPADDR_TYPE_V4; | ^~~~~~ | ESP_IPADDR_TYPE_V4 cc1.exe: some warnings being treated as errors ninja: build stopped: subcommand failed.

jeromeatneotek commented 8 months ago

I got a similar problem building this in VSCode on windows until I did this: [env:esp32dev] platform = espressif32 @5.1.0 framework = espidf board = esp32dev