How can I use a Godot module(CryptoMbedTLS) in my own custom C++ module?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By henkdewit

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 generate_random_bytes 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 generate_random_bytes 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")