Ищите исправление marg_setValue в iPhoneOS - PullRequest
1 голос
/ 13 мая 2010

Я пытаюсь скомпилировать библиотеку, изначально написанную для Какао. Все хорошо, пока не будет найдена функция marg_setValue (). Он говорит, что перед символом в

есть синтаксическая ошибка
marg_setValue(argumentList,argumentOffset,char,(char)lua_toboolean(state,luaArgument));

(речь идет о третьем аргументе, а не (char))

Я пытаюсь портировать LuaObjectiveCBridge на iPhone. У него есть два варианта: либо Runtime, либо Foundation. Я обнаружил, что есть некоторые проблемы с фундаментом, поэтому я пробую время выполнения. Но компилятор не взаимодействует.

Ответы [ 2 ]

1 голос
/ 13 мая 2010

Проверьте, можете ли вы избавиться от макросов marg_XXX:

  • они устарели и не считаются надежными.
  • marg_list должен использоваться с objc_msgSendv, который отсутствует в современной среде исполнения.

Я предлагаю пойти с NSInvocation . Он довольно прост в использовании и достаточно мощный для моста. Проверьте эту запись на полноту.

0 голосов
/ 13 мая 2010

Современный Objective-C ABI / API доступен на Cocoa Touch. В нем отсутствуют некоторые устаревшие функции 32-разрядного рабочего стола (а именно те, которые были ужасно хрупкими). ​​

marg_setValue () и друзья являются частью той устаревшей среды выполнения, которая не поддерживается в Objective-C 2.0. Это было - всегда было - сломано в любом случае. Вы не сильно скучаете.

Реальный вопрос: что вы пытаетесь сделать?

...