2014-12-21 2 views
0

я получаю следующую ошибку, когда я запускаю j2objcc -o blssmibi BLSSMIBI.oj2objc Ошибка компиляции: Неопределенные символы для архитектуры arm64:

Неопределенные символы для архитектуры x86_64: "_OBJC_CLASS _ $ _ Curve", ссылочных от: ObjC -класс-исх в BLSSMIBI.o LD: символ (ы) не найдено для архитектуры x86_64 лязг: ошибка: команда линкера потерпела неудачу с кодом выхода 1 (использование -v, чтобы увидеть вызова)

, что я должен сделать, чтобы исправить это?

ответ

0

В j2objc-библиотеках нет класса Curve, поэтому я предполагаю, что это зависимость от файла Java, который вы использовали для создания BLSSMIBI (возможно, это похоже, что использовался префикс пакета). Если вы не знаете, что такое зависимости класса, попробуйте выполнить компиляцию с javac во временный каталог и посмотреть, какие файлы name.class создаются (игнорируйте те, у которых есть $ в их именах, поскольку они являются внутренними классами). Этот список файлов классов используется для определения всех классов, которые требуют пересылки, а также всех файлов .o, которые требуется для приложения.

+0

Curve class - это мой собственный класс. Я получаю решение здесь https://github.com/google/j2objc/wiki/Xcode-Build-Rules#debugging-build-problems , но тогда я не знаю, как решить он, потому что я только использую терминал для сборки не Xcode, не уверен, как открыть файл журнала. – cheah

+0

В терминале нет файла журнала, а только того, что печатается. Это то же самое, что при запуске с Xcode только Xcode сохраняет этот печатный вывод в файл журнала. FYI, j2objcc - это просто сценарий, который обертывает clang и устанавливает несколько флагов (вы можете запустить «bash -x j2objcc.sh args», чтобы увидеть, что добавлено). Попробуйте «j2objcc -o blssmibi BLSSMIBI.o Curve.o <все другие скомпилированные файлы проектов>». – tball

+0

Спасибо !! Эта работа, она решает мою проблему !! Очень ценю, что вы помогаете !!! спасибо – cheah

Смежные вопросы