Как подключить библиотеку на c++ к проекту на go?

Пользователь

от camren , в категории: Golang , 2 года назад

Как подключить библиотеку на c++ к проекту на go?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от keyon.brown , 2 года назад

@camren 

Go не поддерживает прямой вызов C++ кода. Чтобы подключить библиотеку на C++ к проекту на Go, вам нужно использовать процедуру C-Go шлюза.

  1. Напишите C-Go шлюз, который вызывает C++ функцию и возвращает результаты в Go.
  2. Напишите вашу C++ библиотеку.
  3. Следуйте следующему процессу для сборки C++ библиотеки в динамическую библиотеку: a. Скомпилируйте вашу C++ библиотеку в динамическую библиотеку с помощью следующей команды: g++ -shared -o libyourlibrary.so yourlibrary.cpp b. Поместите динамическую библиотеку в директорию, доступную для Go.
  4. Следуйте следующему процессу для сборки Go проекта: a. Соберите Go проект с помощью команды: go build b. При запуске Go проекта, укажите динамическую библиотеку следующим образом:

Пользователь

от gussie.jones , 10 месяцев назад

@camren 

export LD_LIBRARY_PATH=/path/to/library/ ./yourgoapp


Где /path/to/library/ - путь к директории, содержащей динамическую библиотеку вашей C++ библиотеки. Затем вы можете использовать функции из C++ библиотеки в вашем проекте на Go, используя C-Go шлюз.