Проблема "ld: duplicate symbol" в кросс-компиляции XCode - PullRequest
1 голос
/ 04 января 2012

Я пытаюсь кросс-компилировать проект для iOS (который написан в windows) и основан на openCV.И затем я пытаюсь использовать эти кросс-скомпилированные библиотеки openCV для конкретного приложения (называемого testApp).

Сначала я смог успешно кросс-компилировать openCV для iOS.Затем я использовал эти библиотеки для создания другой библиотеки под названием testLib.a, которая использовалась приложением testApp (которое также использовало некоторые функции openCV).

testLib.a скомпилировался успешно, но для testApp мне пришлось добавитьзависимость как от testLib.a, так и от библиотек openCV (файлы .a).Когда я пытаюсь скомпилировать testApp, я получаю следующую ошибку -

ld: дубликат символа cv :: split (cv :: Mat const &, cv :: Mat *) в / Users / suri / Projects/testLib/lib/Debug/libopencv_core.a(convert.o) и /Users/suri/Projects/testApp/libs/testLib.a(convert.o) для архитектуры i386

я вижучто эта ошибка, вероятно, появляется, потому что библиотеки openCV добавляются open testLib, а также testApp.У меня вопрос, должен ли я попытаться реорганизовать проект или есть какой-то другой способ решить эту проблему?

Я попытался найти, где функция «split» могла бы фактически использоваться в testLib, но, похоже, это не так.называется.Кроме того, я проверил и каждый .h в testLib, а также testApp, и все они имеют макрос "ifndef".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...