Код C++ в приложении для iPhone

Я пытаюсь пользоваться библиотекой C++ (CLucene) из моего Сенсорного приложения для iPhone Какао с помощью XCode 3.1.3. Все хорошо работает, когда я работаю в средстве моделирования iPhone, но вещи становятся странными, когда я работаю на устройстве. Кажется, что указатели не передаются правильно от Objective C ++ код (мое приложение) в библиотеку C++ (CLucene).

При отладке приложения на устройстве я могу наблюдать символ константы*, переменная передала в качестве параметра изменению функции C++ от 0x12546c0 в Objective C ++ к 0x4e в C++. Так как 0x4e не указывает на допустимый символ константы*, сбои кода C++. Этого не происходит при отладке в средстве моделирования.

Я компилирую библиотеку C++ непосредственно в приложение, не связываясь со статическим или динамическим lib.

Любая справка очень ценилась бы.

6
задан Jeremy Bower 29 June 2009 в 18:25
поделиться

2 ответа

Disabling "Compile for Thumb" in the project's build settings fixes the problem.

4
ответ дан 17 December 2019 в 07:08
поделиться

Не должно возникнуть проблем с использованием кода C ++ в приложении для iPhone (я делаю это постоянно).

Указатели должны передаваться как указатели без какой-либо интерпретации.
Вы уверены, что объект Objective-C ++ - это 'const char *', а не какой-либо другой тип, который (неправильно) конвертируется в 'const char *' на лету во время выполнения?

0
ответ дан 17 December 2019 в 07:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: