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.
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.
It seems that this is an IL2CPP problem in 4.6.7. Unity are aware of it. Until it's fixed, 4.6.6 should work.
It seems that this is an IL2CPP problem in 4.6.7. Unity are aware of it. Until it's fixed, 4.6.6 should work.
I encountered the same problem.
But it's fixed on Unity 4.6.7p2. Try it 🙂
I encountered the same problem.
But it's fixed on Unity 4.6.7p2. Try it 🙂
Yep, all fixed now, thanks for the update!
Yep, all fixed now, thanks for the update!
Can't find what you're looking for? Ask the community or share your knowledge.