esp32_nat_router
esp32_nat_router copied to clipboard
build error
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.
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