Avatar ·

Cómo usar código C++ en Go: llamar funciones y clases de C++ a través de C

¡Hola a todos! Llevo escribiendo en Go aproximadamente un año, y ahora me enfrenté a una tarea que me dejó perplejo. Tengo una gran biblioteca en C++ que implementa una lógica compleja de procesamiento de imágenes. Quiero usarla en mi proyecto de Go, pero no sé cómo organizar correctamente la llamada a funciones de C++ desde Go. Leí que Go puede interactuar con C a través de cgo, pero C++ es una historia completamente diferente. Intenté escribir un ejemplo simple: hay una clase ImageProcessor en C++ con un método process() que recibe un array de bytes y devuelve un resultado. Creé un wrapper en C, pero durante el enlace aparecen errores "undefined reference". Aquí está un ejemplo de mi código: ```go package main /* #include "image_processor.h" */ import "C" import "fmt" func main() { data := []byte{1, 2, 3, 4, 5} result := C.process_image(&data[0], C.int(len(data))) fmt.Println(result) } ``` Y el archivo de cabecera de C++: ```cpp // image_processor.h class ImageProcessor { public: int process(unsigned