SWIG Неудовлетворенная ошибка связи в другом проекте

У меня есть часть проекта, которая требует от меня обернуть некоторый существующий код C++. Я сделал тестовый проект для упакованного кода, и тестовый проект работает.

Однако, когда я пытаюсь интегрировать этот тестовый проект обратно в основной проект. Следующая ошибка имеет место.

Я могу загрузить разделяемую библиотеку, но как только я могу запустить свою первую упакованную функцию, она перестает указывать на неудовлетворенную ошибку ссылки.

Затем я решил не интегрировать мой тестовый проект в мой основной проект, а просто скопировать мой тестовый проект в среду основного проекта и запустить его (это означает, что это точно такой же код). И такая же ошибка происходит.

Из-за этого я подозреваю, что у меня ошибка настройки проекта, но я не уверен, что это будет за настройка проекта, так как я не делал ничего особенного в настройке проекта или не запускал конфигурацию w, когда делал свой тестовый проект.

Ура,

Джек

1 ответ

Причина, по которой это не сработало, когда я поместил в другой проект, состоит в том, что совпадение в новом проекте не совпадает с именем пакета, который я назначил при создании.

При создании файлов-оболочек очень важно убедиться, что любой пакет, который вы назначаете файлам-оболочкам, должен быть тем местом, куда вы помещаете файл обертки (особенно файл JNI) в проекте.

Например. Если я установлю пакет как "swig" и поместу в проект так, что "level1.level2.level3.swig", это перестанет работать.

Другие вопросы по тегам