Подключение нативной библиотеки
Для библиотеки C/C++ сначала выберите границу интеграции. C#-пакет, вызов C ABI через P/Invoke и модуль самого движка — разные способы. Модуль требует отдельной
Для библиотеки C/C++ сначала выберите границу интеграции. C#-пакет, вызов C ABI через P/Invoke и модуль самого движка — разные способы. Модуль требует отдельной сборки движка и шаблонов для каждой целевой платформы; добавление DLL в проект само по себе его не регистрирует.
Модуль C++
- Создайте отдельный модуль со своим
config.pyиSCsub; не вставляйте машинные пути в общий файл сборки. - Добавьте пути заголовков через
CPPPATH. Для исходников зависимости используйте отдельное окружение сборки, чтобы её defines и настройки не утекали в остальной движок. Пример этой структуры есть в модуле Ogg. - Для готовой библиотеки настройте платформенные
LIBPATHиLIBSи проверьте архитектуру, ABI, компилятор и Debug/Release runtime. Путь заголовков не подключает линкер. - Зарегистрируйте только необходимый интерфейс движка. Определите владельца каждого буфера и парные функции освобождения; не освобождайте память другим allocator.
- Соберите отдельные editor/template варианты. Проверьте запуск на чистой целевой системе без путей и DLL из среды разработки.
Разбор ошибок
header not found относится к include-пути. unresolved symbol — к линковке или несовпадающему объявлению. Ошибка загрузки DLL/SO — к наличию самой библиотеки, её транзитивных зависимостей или архитектуре. Падение при освобождении часто требует проверить границу владения.
Учитывайте лицензию и распространение зависимости. Эта страница описывает контракт сборки, а не готовую интеграцию конкретной сторонней библиотеки; тестовая сборка и развёртывание не выполнялись.