Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » C / C++ IDE (CDT) » ESP8266 -- Linked resources not included in derived makefile(Unable to complete build due to linked resources not making it into the autogenerated makefile)
ESP8266 -- Linked resources not included in derived makefile [message #1801980] Wed, 30 January 2019 09:19 Go to next message
Thomas Thompson is currently offline Thomas ThompsonFriend
Messages: 1
Registered: January 2019
Junior Member
I am trying to return to using Eclipse to build some ESP8266 projects. I have a project that worked some time back on oxygen, but I've long since lost the setup I used. I'm still pretty new to all of this, so I would appreciate any help here as I've been at this for a couple days now :)

I've installed the latest Eclipse (2018-12) and the Eclipse C++ IDE for Arduino 3.0. I have the ESP8266 platform installed. I have created a new Arduino project and pulled the source code files from my old project forward.

I have a list of issues, but the one I haven't been able to work around yet is that linked resources are not being pulled into the derived makefile that is created for the project. Thus when I go to build, the build fails.

Here is the failing step:
Building GarageDoorSecure
"C:/Users/TJ/.arduinocdt/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\TJ\.arduinocdt\packages\esp8266\hardware\esp8266\2.3.0/tools/sdk/include" "-IC:\Users\TJ\.arduinocdt\packages\esp8266\hardware\esp8266\2.3.0/tools/sdk/lwip/include" "-I./core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -DF_CPU=80000000L -DLWIP_OPEN_SRC   -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_ESP01"  -DESP8266 -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266" -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/variants/generic" -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/libraries/DNSServer/src" -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WebServer/src" -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src" -I"C:/Users/TJ/.arduinocdt/libraries/LinkedList" -I"C:/Users/TJ/.arduinocdt/libraries/WiFiManager/0.14.0" -I"C:/Users/TJ/.arduinocdt/libraries/PubSubClient/2.7.0/src" "../../MQTT_GarageDoorMonitor.cpp" -o "project/MQTT_GarageDoorMonitor.cpp.o"
In file included from ../../MQTT_GarageDoorMonitor.cpp:4:0:
F:/eclipse-workspace/GarageDoorSecure/ConfigAndWiFiManager.h:8:24: fatal error: ConfigFile.h: No such file or directory
 #include <ConfigFile.h>
                        ^
compilation terminated.
make: *** [project/MQTT_GarageDoorMonitor.cpp.o] Error 1
makefile:133: recipe for target 'project/MQTT_GarageDoorMonitor.cpp.o' failed


If I modify this command by adding these includes, the command will complete successfully:
-I"C:/Users/TJ/.arduinocdt/libraries/ArduinoJson/5.13.4/src" -- Workaround as I can't get the library manager to install old lib version
-I"F:/Users/TJ/Arduino/libraries/ConfigFile" -- Custom library used by other projects
-I"F:/Users/TJ/Arduino/libraries/Door" -- Custom library used by other projects
-I"F:/eclipse-workspace/GarageDoorSecure" -- The project workspace itself. Very strange I have to add this I would think

Here is the command from the cmd prompt running succesfully with the three includes above:
F:\eclipse-workspace\GarageDoorSecure\build\Esp8266>"C:/Users/TJ/.arduinocdt/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\TJ\.arduinocdt\packages\esp8266\hardware\esp8266\2.3.0/tools/sdk/include" "-IC:\Users\TJ\.arduinocdt\packages\esp8266\hardware\esp8266\2.3.0/tools/sdk/lwip/include" "-I./core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -DF_CPU=80000000L -DLWIP_OPEN_SRC   -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_ESP01"  -DESP8266 -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266" -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/variants/generic" -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/libraries/DNSServer/src" -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WebServer/src" -I"C:/Users/TJ/.arduinocdt/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src" -I"C:/Users/TJ/.arduinocdt/libraries/LinkedList" -I"C:/Users/TJ/.arduinocdt/libraries/WiFiManager/0.14.0" -I"C:/Users/TJ/.arduinocdt/libraries/PubSubClient/2.7.0/src" -I"C:/Users/TJ/.arduinocdt/libraries/ArduinoJson/5.13.4/src" -I"F:/Users/TJ/Arduino/libraries/ConfigFile" -I"F:/Users/TJ/Arduino/libraries/Door" -I"F:/eclipse-workspace/GarageDoorSecure" "../../MQTT_GarageDoorMonitor.cpp" -o "project/MQTT_GarageDoorMonitor.cpp.o"

F:\eclipse-workspace\GarageDoorSecure\build\Esp8266>


These includes are all included in the project -- the first three via linked resources, and the last one in the project root itself:
https://imgur.com/IgMBNqd

Note the ConfigFile.h header that caused the above failure is showing in the linked resource.

If this were a standard C++ project, I would just add these through the preprocessor includes in the project settings. However, Arduino projects do not seem to have this option:
https://imgur.com/8OsDKWS

I could directly edit the makefile, but this is autogenerated and I also can't find a way to disable automatic makefile generation on an Arduino project. It would also be a major pain considering the problem seems very straightforward.

Could anyone give some pointers on how to fix this issue the right way? I don't understand how to ensure my linked resources make it into the makefile. It seems the Eclipse indexer finds them fine as I can access them while editing the code, but the makefile/compiler is never able to find them.

Thanks in advance, I would greatly appreciate any information :)

EDIT -- Added images

[Updated on: Fri, 01 February 2019 02:56]

Report message to a moderator

Re: ESP8266 -- Linked resources not included in derived makefile [message #1836407 is a reply to message #1801980] Sat, 02 January 2021 06:29 Go to previous message
Anton Deriabine is currently offline Anton DeriabineFriend
Messages: 1
Registered: January 2021
Junior Member
Thomas - Did you ever figure out how to do this? I am running into the same issue as well.
Previous Topic:Fresh install of 2019-09 not working
Next Topic:Q: How to use CMSIS packs in Eclipse Embedded CDT
Goto Forum:
  


Current Time: Fri Apr 26 01:40:50 GMT 2024

Powered by FUDForum. Page generated in 0.03792 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top