Since upgrading to Unity 4.6.7f1, any Scaleform projects built for iOS will fail to compile in XCode, including the demo project.
The error is:
/Users/dave/Projects/Unity/Scaleform/Build/Build/Classes/Native/Bulk_Assembly-CSharp-firstpass_0.cpp:13397:105: No viable conversion from 'IntPtr_t' to 'intptr_t' (aka 'long')
It's referring to the _il2cpp_pinvoke_func line below. Are IntPtr_t and intptr_t the same thing? Is there a something I can do to work around the problem? Perhaps it's a Unity IL2CPP issue?
extern "C" IntPtr_t MovieDef_SF_GetFileURL_m266 (Object_t * __this /* static, unused */, IntPtr_t ___pMovieDef, IntPtr_t ___size, const MethodInfo* method) { typedef intptr_t (DEFAULT_CALL *PInvokeFunc) (intptr_t, intptr_t); static PInvokeFunc _il2cpp_pinvoke_func; if (!_il2cpp_pinvoke_func) { _il2cpp_pinvoke_func = (PInvokeFunc)SF_GetFileURL; if (_il2cpp_pinvoke_func == NULL) { il2cpp_codegen_raise_exception(il2cpp_codegen_get_not_supported_exception("Unable to find method for p/invoke: 'SF_GetFileURL'")); } } // Marshaling of parameter '___pMovieDef' to native representation // Marshaling of parameter '___size' to native representation // Native function invocation and marshaling of return value back from native representation intptr_t _return_value = _il2cpp_pinvoke_func(reinterpret_cast<intptr_t>((___pMovieDef).___m_value_0), ___size); IntPtr_t __return_value_unmarshaled; (__return_value_unmarshaled).___m_value_0 = reinterpret_cast<void*>(_return_value); // Marshaling cleanup of parameter '___pMovieDef' native representation return __return_value_unmarshaled; }
Solved! Go to Solution.
Can't find what you're looking for? Ask the community or share your knowledge.