SWIG Неудовлетворенная ошибка связи в другом проекте
У меня есть часть проекта, которая требует от меня обернуть некоторый существующий код C++. Я сделал тестовый проект для упакованного кода, и тестовый проект работает.
Однако, когда я пытаюсь интегрировать этот тестовый проект обратно в основной проект. Следующая ошибка имеет место.
Я могу загрузить разделяемую библиотеку, но как только я могу запустить свою первую упакованную функцию, она перестает указывать на неудовлетворенную ошибку ссылки.
Затем я решил не интегрировать мой тестовый проект в мой основной проект, а просто скопировать мой тестовый проект в среду основного проекта и запустить его (это означает, что это точно такой же код). И такая же ошибка происходит.
Из-за этого я подозреваю, что у меня ошибка настройки проекта, но я не уверен, что это будет за настройка проекта, так как я не делал ничего особенного в настройке проекта или не запускал конфигурацию w, когда делал свой тестовый проект.
Ура,
Джек
1 ответ
Причина, по которой это не сработало, когда я поместил в другой проект, состоит в том, что совпадение в новом проекте не совпадает с именем пакета, который я назначил при создании.
При создании файлов-оболочек очень важно убедиться, что любой пакет, который вы назначаете файлам-оболочкам, должен быть тем местом, куда вы помещаете файл обертки (особенно файл JNI) в проекте.
Например. Если я установлю пакет как "swig" и поместу в проект так, что "level1.level2.level3.swig", это перестанет работать.