The Godot Q&A is currently undergoing maintenance!

Your ability to ask and answer questions is temporarily disabled. You can browse existing threads in read-only mode.

We are working on bringing this community platform back to its full functionality, stay tuned for updates.

godotengine.org | Twitter

0 votes

Hey guys,

I'm new to Godot and trying to create my own C++ module. I would like to use the https://github.com/godotengine/godot/blob/3.2/modules/mbedtls/crypto_mbedtls.cpp#L274 generaterandombytes function in my module. The code compiles however the Godot editor won't start(it gives no message or anything, it immediately crashes). If I comment the creation line and return a PoolByteArray() instead of calling the generaterandombytes function it works(editor will launch). I think it's safe to say that it's due to the way I try to use the CryptoMbedTLS class. Can someone help me out and point me in the right direction on how to instantiate this class correctly / how to use?

// main.cpp
#include "main.h"
#include "modules/mbedtls/crypto_mbedtls.h"

Crypto *crypto = CryptoMbedTLS::create();

PoolByteArray CryptoTest::generate_bytes(int bytes) {
    return crypto->generate_random_bytes(bytes);
}

void CryptoTest::_bind_methods() {
    ClassDB::bind_method(D_METHOD("generate_bytes", "bytes"), &CryptoTest::generate_bytes);
}

CryptoTest::CryptoTest(){}

//SCsub    
Import('env')

env.Prepend(CPPPATH=["#thirdparty/mbedtls/include/"])
env.add_source_files(env.modules_sources, "*.cpp")
Godot version 3.2
in Engine by (14 points)

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.