Hello. Let me explain what I did to install it. I in fact went right back through the procedure to make sure:
1. I first began by installing the standard toolchain for Linux. The guide I link here is what I followed:
https://docs.espressif.com/projects/esp ... setup.html.
I installed it for 64-bit Linux. Everything is fine. I unzipped the toolchain to the recommended directory at ~/esp.
My shell profile currently looks as follows after modifying it:
[Codebox]
export IDF_PATH=~/esp/esp-idf
export PATH=~/esp/xtensa-esp32-elf/bin:$PATH
[/Codebox]
2. I continued with the rest of the guide here:
https://docs.espressif.com/projects/esp ... et-esp-idf to get the ESP repository. This was just fine.
3. I added the tools to the path using: . add_path.sh
In my personal project, I encounter the same error I described as before if I invoke: idf.py build
[Codebox]
Came Error at main/CMakeLists.txt:1 (idf_component_register):
Unknown CMake command "idf_component_register".
[/Codebox]
Of course, the guide is using make instead. If I try to compile my program with make, then it works, but I get errors that don't exist on my Linux workstation at home (this isn't compiling on a Linux laptop). For instance:
[Codebox]
/home/micrified/esp/esp32-wifi/build/libmain.a(esp32_wifi_main.o):(.literal.app_main+0x14): undefined reference to `ble_init`
[/Codebox]
This doesn't make any sense, because (well it works on another workstation) and the header defining that function is clearly accessible and reachable:
Project Structure:
[Codebox]
- main
| - include
| | - ble.h
| | - ble_profiles.h
| | - wifi.h
| - src
| | - ble.c
| | - wifi.c
- CMakeLists.txt
- component.mk
- esp_32_wifi_main.c
[/Codebox]
(These files are very small)
See esp_32_wifi_main.c here:
https://gist.github.com/Micrified/ec855 ... 08e5b92766
See ble.h here:
https://gist.github.com/Micrified/4f9e9 ... 67ffe66aa0
See ble.c here:
https://gist.github.com/Micrified/0145a ... 0e4aeeee03
If you can help me figure out what on Earth is going on I'd be very grateful.