Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting Exit Status 1 every time I run a code with this library or even the example for that matter - PLZ HELP! #305

Open
DrkRCR opened this issue Jun 11, 2024 · 9 comments

Comments

@DrkRCR
Copy link

DrkRCR commented Jun 11, 2024

Here are the error messages-
c:\Users\vedde\Documents\Arduino\libraries\ESP32_BLE_Keyboard\BleKeyboard.cpp: In member function 'void BleKeyboard::begin()':
c:\Users\vedde\Documents\Arduino\libraries\ESP32_BLE_Keyboard\BleKeyboard.cpp:105:19: error: cannot convert 'std::string' {aka 'std::__cxx11::basic_string'} to 'String'
105 | BLEDevice::init(deviceName);
| ^~~~~~~~~~
| |
| std::string {aka std::__cxx11::basic_string}
In file included from c:\Users\vedde\Documents\Arduino\libraries\ESP32_BLE_Keyboard\BleKeyboard.cpp:7:
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLEDevice.h:41:27: note: initializing argument 1 of 'static void BLEDevice::init(String)'
41 | static void init(String deviceName); // Initialize the local BLE environment.
| ~~~~~~~^~~~~~~~~~
c:\Users\vedde\Documents\Arduino\libraries\ESP32_BLE_Keyboard\BleKeyboard.cpp:116:32: error: no matching function for call to 'BLECharacteristic::setValue(std::string&)'
116 | hid->manufacturer()->setValue(deviceManufacturer);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLEServer.h:23,
from C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLEDevice.h:21:
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:77:8: note: candidate: 'void BLECharacteristic::setValue(uint8_t*, size_t)'
77 | void setValue(uint8_t *data, size_t size);
| ^~~~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:77:8: note: candidate expects 2 arguments, 1 provided
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:78:8: note: candidate: 'void BLECharacteristic::setValue(String)'
78 | void setValue(String value);
| ^~~~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:78:24: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string'} to 'String'
78 | void setValue(String value);
| ~~~~~~~^~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:79:8: note: candidate: 'void BLECharacteristic::setValue(uint16_t&)'
79 | void setValue(uint16_t &data16);
| ^~~~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:79:27: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string'} to 'uint16_t&' {aka 'short unsigned int&'}
79 | void setValue(uint16_t &data16);
| ~~~~~~~~~~^~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:80:8: note: candidate: 'void BLECharacteristic::setValue(uint32_t&)'
80 | void setValue(uint32_t &data32);
| ^~~~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:80:27: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string'} to 'uint32_t&' {aka 'long unsigned int&'}
80 | void setValue(uint32_t &data32);
| ~~~~~~~~~~^~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:81:8: note: candidate: 'void BLECharacteristic::setValue(int&)'
81 | void setValue(int &data32);
| ^~~~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:81:22: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string'} to 'int&'
81 | void setValue(int &data32);
| ~~~~~^~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:82:8: note: candidate: 'void BLECharacteristic::setValue(float&)'
82 | void setValue(float &data32);
| ^~~~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:82:24: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string'} to 'float&'
82 | void setValue(float &data32);
| ~~~~~~~^~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:83:8: note: candidate: 'void BLECharacteristic::setValue(double&)'
83 | void setValue(double &data64);
| ^~~~~~~~
C:\Users\vedde\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\libraries\BLE\src/BLECharacteristic.h:83:25: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string'} to 'double&'
83 | void setValue(double &data64);
| ~~~~~~~~^~~~~~

exit status 1

Compilation error: exit status 1

@mikk149c
Copy link

I'm having the exact same problem

@saccoUnibg
Copy link

same issue.

@dkyazzentwatwa
Copy link

dkyazzentwatwa commented Jun 20, 2024

Same issue as well...no idea how to fix but AI says to rework BleKeyboard.cpp lol :(.

EDIT— got it working on the BLECombo fork, will share what I did in a sec

@dkyazzentwatwa
Copy link

same issue.

Fixed it by looking at a recent pull request:
#303

All you gotta do is change BleKeyboard.h/c where he made the changes! Works like a charm now.

@saccocristian
Copy link

thanks! Will try later

@FreemanCarvalho
Copy link

Hey guys, im super new to ESP32's, but im having the same issue.

dkyazzentwatwa when you say change the BleKeyboard.h/c what do you mean by that? Can you specify exactly where I should go to make those changes? If you could help me on this I would really appreciate that man.

@TriggerHappy-NZ
Copy link

TriggerHappy-NZ commented Sep 18, 2024

OK here's what worked for me (this note is for other beginners who are a bit stuck!):

Open BleKeyboard.h and BleKeyboard.cpp in your text editor (in your libraries folder)

Go to the link posted by [dkyazzentwatwa]
#303

Use Find/Replace and replace all instances of std::string with String

Save, and recompile.

Thanks to dkyazzentwatwa for finding it for us!

@fredmunyao1
Copy link

Thanks, Your Replies really helped me I was almost giving up!

@cortex3
Copy link

cortex3 commented Nov 10, 2024

fyi for anyone else: just doing a find and replace for std::string is not enough enough as there are other changes in line 100 necessary (see PR linked above).

Why is this not getting merged if a fix is known for this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants