Question

I am trying to compile a library originally written for Cocoa. Things are good until it looks for the function marg_setValue(). It says there is a syntax error before char in

marg_setValue(argumentList,argumentOffset,char,(char)lua_toboolean(state,luaArgument));

(it's talking about the third argument, not (char) )

I am trying to port LuaObjectiveCBridge to the iPhone. It has two choices, either using Runtime or Foundation. I have discovered there are some problems with foundation so I am trying runtime. But the compiler is not co-operating.

Was it helpful?

Solution

Check to see if you can get rid of the marg_XXX macros:

  • they are deprecated and not considered as reliable.
  • marg_list is to be used with objc_msgSendv which is absent from modern runtime.

I suggest to go with NSInvocation. It is pretty simple to use, and powerful enough for a bridge. Check this entry for completeness.

OTHER TIPS

The modern Objective-C ABI/API is available on Cocoa Touch. It lacks some of the legacy features of the 32-bit desktop runtime (namely, ones that were horrendously fragile).

marg_setValue() and friends are a part of that legacy runtime that is not supported in Objective-C 2.0. It was -- always was -- broken anyway. You aren't missing much.

The real question is: What are you trying to do?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top