Page 1 of 1

where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Sat Apr 28, 2018 6:46 am
by mkseven32
Hi
as the Build and Flash with Eclipse IDE guide shows

Navigate to “C/C++ General” -> “Preprocessor Include Paths” property page:

but there is not any item about “Preprocessor Include Paths” in my eclipse IDE, does any body knows why?

Re: where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Sat Apr 28, 2018 7:21 am
by mkseven32
that is caused by the version of eclipse , the lastest one could be OK

my version of eclipse is
Version: Indigo Service Release 2
Build id: 20120216-1857

it does have this item. it needs to update the lastest one

Re: where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Thu Mar 18, 2021 6:32 am
by gdx9902
I have the exact same issue.

I am using Eclipse IDE:
Version: 2020-12 (4.18.0)
Build id: 20201210-1552

and the Preprocessor Include paths menu item is no where to be found.

Attached is a screen shot of my menu.

Can anyone help?

Re: where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Thu Mar 18, 2021 4:38 pm
by zliudr
Mine is all latest with V4.3 beta-1. It's under C/C++->Build->Environment.

Re: where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Fri Mar 19, 2021 3:57 pm
by gdx9902
Thank you very much for your reply.

I tried to look for the version you have, but I can't seem to find it on the eclipse website.
Could you perhaps please share a link so I can also get the latest beta version?

Re: where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Sun Mar 21, 2021 4:22 am
by zliudr
Here is mine:

Eclipse IDE:
Version: 2020-12 (4.18.0)
Build id: 20201210-1552
Screenshot 2021-03-20 232049.png
Screenshot 2021-03-20 232049.png (30.73 KiB) Viewed 7839 times

Re: where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Sun Jun 20, 2021 12:56 am
by mbratch
Has this question been resolved? I have the same issue. I installed the Eclipse IDE per the instructions at the Espressif website. I also did an update of Eclipse from the Eclipse menu. I'm currently running Version: 2021-03 (4.19.0).

From what I can tell, the ESP-IDF plugin(s) do something special with the IDE and provide some of their own menus (for example, under Help). Some other menu items don't match, such as the project properties. Like others, I cannot find any configuration dialog page that allows me to set the library path or pre-processor defines. I'm getting errors in the IDE that it can't find simple includes, like "freertos/FreeRTOS.h".

Re: where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Fri Apr 01, 2022 8:57 am
by Lagunax
Hi, same now with latest Eclipse
Eclipse IDE for C/C++ Developers (includes Incubating components)

Version: 2022-03 (4.23.0)
Build id: 20220310-1457

tried:
Go to project properties (right button on project -> Properties OR menu-File-Properties)
Go to "Project Natures"
Add
"CDT Builder project"
confirm all questions
press "Apply and close"
also i added "Scanner configuration nature" because both of them exists in C++ type projects.

in result path option added but errors occurred

still trying

upd. stopped tries. because after building projects all paths added automatically to folder and all included files are shown without errors. No need any additional natures or whatever else. Just make first build.

upd. Now searching how to add another folder to "include"-path (arduino-esp)
upd. Finaly i got it

creating new project. going to project folder. running next

Code: Select all

mkdir -p components && \
cd components && \
git clone https://github.com/espressif/arduino-esp32.git arduino && \
cd arduino && \
git submodule update --init --recursive && \
cd ../.. && \
idf.py menuconfig
Go to the section Arduino Configuration --->

For usage of app_main() function - Turn off Autostart Arduino setup and loop on boot

For usage of setup() and loop() functions - Turn on Autostart Arduino setup and loop on boot
copy any files and folders from project you need to make and run first build.

taken from here https://docs.espressif.com/projects/ard ... onent.html

but need to install all carefully. i reinstalled several times to get it clean.

all new projects mast run commands above to include arduino (or in linux you can try to make softlink to arduino folder to not download it)

Re: where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Fri Apr 01, 2022 5:52 pm
by mbratch
The build process has always worked well for me. It finds the includes and libraries for ESP-IDF and my own software just fine.

The indexing in Eclipse for ESP-IDF is a big mess. Sometimes it works great, sometimes it flags all sorts of random things (not everything) as errors on the screen. Not only does it flag some ESP-IDF includes as not found (again, not all of them) but some (not all) of my own header files or classes. Again, it builds fine. But the indexing and reindexing, and cleaning and reindexing, and rebuilding, etc, yield mixed results as far as errors shown in the source on the screen. I basically have to ignore most of it, but I lose the hover/right-click context information that is so useful in Eclipse. When it gets bad enough, I bounce over to Visual Studio Code and use the Espressif plugin there, although it has its own issues intermittently crashing and the context information it provides in source is not as useful.

Re: where is the "Preprocessor Include Paths" in my eclipse IDE ?

Posted: Mon Apr 17, 2023 1:24 pm
by janlksrckts
I also have this very same problem; no "Preprocessor Include Paths" property page.
Why is this still an issue 5 years after mkseven32 posted this question?

I installed and tried the Windows installers for Espressif-IDE 2.8.1, Espressif-IDE 2.9.1 and the online installer "esp-idf-tools-setup-online-2.21" (The latter complained it could not find Java 11 although JDK 11 is installed, but not a JRE 11).
Neither the install for 2.8.1 and 2.9.1 has a "Preprocessor Include Paths" property page.
The specific problem I'm having is that after #include <string> for C++ code the compiler gives a lot of template errors for std::string.
And yes, #include <string> is in an extern "C" block:
#ifdef __cplusplus
extern "C" {
#endif

#include <string>
....
}

Already spent hours on this, also uninstalled and reinstalled Espressif-IDE several times.
How do I fix this?

Excerpt from build log file:

ccache C:\Espressif\tools\xtensa-esp32s2-elf\esp-2022r1-11.2.0\xtensa-esp32s2-elf\bin\xtensa-esp32s2-elf-g++.exe -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DUNITY_INCLUDE_CONFIG_H -IC:/_PRJ/rhinometer/cpp/USB_comm/build/config -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/newlib/platform_include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/freertos/FreeRTOS-Kernel/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/freertos/esp_additions/include/freertos -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/freertos/esp_additions/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_hw_support/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_hw_support/include/soc -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_hw_support/include/soc/esp32s2 -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_hw_support/port/esp32s2/. -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_hw_support/port/esp32s2/private_include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/heap/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/log/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/soc/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/soc/esp32s2/. -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/soc/esp32s2/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/hal/esp32s2/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/hal/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/hal/platform_port/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_rom/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_rom/include/esp32s2 -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_rom/esp32s2 -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_common/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_system/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_system/port/soc -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_system/port/include/private -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/xtensa/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/xtensa/esp32s2/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/lwip/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/lwip/include/apps -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/lwip/include/apps/sntp -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/lwip/lwip/src/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/lwip/port/esp32/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/lwip/port/esp32/include/arch -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_ringbuf/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/efuse/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/efuse/esp32s2/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/driver/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/driver/deprecated -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/driver/esp32s2/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_pm/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/mbedtls/port/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/mbedtls/mbedtls/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/mbedtls/mbedtls/library -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/mbedtls/esp_crt_bundle/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_app_format/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/bootloader_support/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/bootloader_support/bootloader_flash/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_partition/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/app_update/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/spi_flash/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/pthread/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_timer/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/app_trace/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_event/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/nvs_flash/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_phy/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_phy/esp32s2/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/vfs/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_netif/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/wpa_supplicant/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/wpa_supplicant/port/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/wpa_supplicant/esp_supplicant/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_wifi/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/unity/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/unity/unity/src -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/cmock/CMock/src -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/console -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/http_parser -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp-tls -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp-tls/esp-tls-crypto -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_adc/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_adc/interface -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_adc/esp32s2/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_adc/deprecated/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_eth/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_gdbstub/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_gdbstub/xtensa -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_gdbstub/esp32s2 -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_hid/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/tcp_transport/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_http_client/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_http_server/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_https_ota/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_lcd/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_lcd/interface -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/protobuf-c/protobuf-c -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/protocomm/include/common -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/protocomm/include/security -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/protocomm/include/transports -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_local_ctrl/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/esp_psram/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/espcoredump/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/espcoredump/include/port/xtensa -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/wear_levelling/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/sdmmc/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/fatfs/diskio -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/fatfs/vfs -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/fatfs/src -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/idf_test/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/idf_test/include/esp32s2 -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/ieee802154/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/json/cJSON -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/mqtt/esp-mqtt/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/perfmon/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/spiffs/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/touch_element/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/ulp/ulp_common/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/ulp/ulp_common/include/esp32s2 -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/usb/include -IC:/Espressif/frameworks/esp-idf-v5.0.1/components/wifi_provisioning/include -mlongcalls -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -O2 -fmacro-prefix-map=C:/_PRJ/rhinometer/cpp/USB_comm=. -fmacro-prefix-map=C:/Espressif/frameworks/esp-idf-v5.0.1=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu++20 -fexceptions -fno-rtti -D_GNU_SOURCE -DIDF_VER=\"v5.0.1-dirty\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/main.cpp.obj -MF esp-idf\main\CMakeFiles\__idf_main.dir\main.cpp.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/main.cpp.obj -c C:/_PRJ/rhinometer/cpp/USB_comm/main/main.cpp
In file included from c:\espressif\tools\xtensa-esp32s2-elf\esp-2022r1-11.2.0\xtensa-esp32s2-elf\xtensa-esp32s2-elf\include\c++\11.2.0\bits\stringfwd.h:40,
from c:\espressif\tools\xtensa-esp32s2-elf\esp-2022r1-11.2.0\xtensa-esp32s2-elf\xtensa-esp32s2-elf\include\c++\11.2.0\string:39,
from C:/_PRJ/rhinometer/cpp/USB_comm/main/datalink.h:35,
from C:/_PRJ/rhinometer/cpp/USB_comm/main/rhinometer.h:17,
from C:/_PRJ/rhinometer/cpp/USB_comm/main/main.cpp:7:
c:\espressif\tools\xtensa-esp32s2-elf\esp-2022r1-11.2.0\xtensa-esp32s2-elf\xtensa-esp32s2-elf\include\c++\11.2.0\bits\memoryfwd.h:63:3: error: template with C linkage
63 | template<typename>
| ^~~~~~~~