About Store Forum Documentation Contact



Post Reply 
[ANDROID][SOLVED] Mem Block.h Quaternion.h - ERRORS
Author Message
Mardok Offline
Member

Post: #1
[ANDROID][SOLVED] Mem Block.h Quaternion.h - ERRORS
Hi Grzegorz,
I did update today and when try build my project i have two errors. Check this out:

//--------------------------------------------------------------------

**** Build of configuration Default for project Project (Eclipse) ****

C:\Android\AndroidNDK\ndk-build.cmd -j4 all
Prebuilt : EsenthelEngine-armeabi.a <= jni/../../Installation/

"Compile++ thumb : Project <= Main.cpp

In file included from jni/../../Installation/EsenthelEngine/EsenthelEngine.h:34,
from jni/stdafx.h:1,
from jni/Main.cpp:2:

jni/../../Installation/EsenthelEngine/Memory/Mem Block.h: In member function 'Bool EE::Memb<TYPE>::binaryInclude(const VALUE&, Int (*)(const TYPE&, const VALUE&))':
jni/../../Installation/EsenthelEngine/Memory/Mem Block.h:55: error: there are no arguments to 'NewAt' that depend on a template parameter, so a declaration of 'NewAt' must be available

jni/../../Installation/EsenthelEngine/Memory/Mem Block.h:55: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from jni/../../Installation/EsenthelEngine/EsenthelEngine.h:98,
from jni/stdafx.h:1,
from jni/Main.cpp:2:

jni/../../Installation/EsenthelEngine/Math/Quaternion.h: In constructor 'EE::Quaternion::Quaternion(const EE::Vec4&)':
jni/../../Installation/EsenthelEngine/Math/Quaternion.h:32: error: class 'EE::Quaternion' does not have any field named 'SuperClass'

In file included from jni/../../Installation/EsenthelEngine/EsenthelEngine.h:109,
from jni/stdafx.h:1,
from jni/Main.cpp:2:
jni/../../Installation/EsenthelEngine/Graphics/Material.h: At global scope:
jni/../../Installation/EsenthelEngine/Graphics/Material.h:59: warning: taking address of temporary
In file included from jni/../../Installation/EsenthelEngine/EsenthelEngine.h:39,
from jni/stdafx.h:1,
from jni/Main.cpp:2:
jni/../../Installation/EsenthelEngine/Memory/Memory.h: In function 'TYPE*& EE::Free(TYPE*&) [with TYPE = void*]':
jni/../../Installation/EsenthelEngine/Misc/Templates.h:66: instantiated from 'EE::Mems<TYPE>& EE::Mems<TYPE>::clear() [with TYPE = void*]'
jni/../../Installation/EsenthelEngine/Misc/Templates.h:69: instantiated from 'EE::Mems<TYPE>& EE::Mems<TYPE>::del() [with TYPE = void*]'
jni/../../Installation/EsenthelEngine/Misc/Templates.h:179: instantiated from 'EE::Mems<TYPE>::~Mems() [with TYPE = void*]'
jni/../../Installation/EsenthelEngine/Physics/Actor.h:152: instantiated from here
jni/../../Installation/EsenthelEngine/Memory/Memory.h:98: warning: casting 'void**' to 'void*&' does not dereference pointer
make: *** [obj/local/armeabi/objs/Project/Main.o] Error 1
make: *** Waiting for unfinished jobs....

//--------------------------------------------------------------------
(This post was last modified: 09-01-2012 05:30 PM by Mardok.)
09-01-2012 01:05 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #2
RE: [ANDROID] Mem Block.h Quaternion.h - ERRORS
Hello,

Did you update both WinSDK and AndroidSDK?
Are you using latest Android SDK and NDK? (what versions do you have installed?)

I've tested compiling Esenthel RTS for Android and it works fine.

the fact that compiler informs you that '-fpermissive' could be used to solve the issue, implies that your SDK somehow uses old files version? (engine.pak) , since engine.pak since few releases does have fpermissive flag enabled
09-01-2012 01:34 PM
Find all posts by this user Quote this message in a reply
Mardok Offline
Member

Post: #3
RE: [ANDROID] Mem Block.h Quaternion.h - ERRORS
I updated all needed packages for Android SDK and NDK today.

Android SDK Tools (Rev. 20.0.3)
Android SDK platform-tools Rev. 14

AndroidNDK Revision 8b (July 2012)


EEAndroidSDK is downloaded today from EE STORE and above build log is from EE Sample Project for Android "Project (Eclipse)".

In first post i wrote "build my project" but is my blunder. Log comes directly from EEAndroidSDK -> "Project (Eclipse)" folder.

Hmm i did everything as usual...
Downloaded last update from STORE and try build Sample project from "Project (Eclipse)" folder.

For windows update was smooth and only few errors connected with STRUCT //{

OK, if by your side all is ok i'll investigate this one more time...
09-01-2012 02:29 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #4
RE: [ANDROID] Mem Block.h Quaternion.h - ERRORS
Does building through Code Editor work?
I'll check building through Eclipse, maybe that's the problem.

For eclipse:
could you try adding " -fpermissive" to
Project (Eclipse)\jni\Android.mk file in following lines:
LOCAL_CFLAGS := -I.. -fshort-wchar -Wl,--no-wchar-size-warning -fpermissive
LOCAL_CPPFLAGS := -I.. -fshort-wchar -Wl,--no-wchar-size-warning -fpermissive -ffriend-injection -Wno-invalid-offsetof

I've just tested Eclipse with above change applied and it works, I am uploading updated Android SDK to the Store, it will be available in 12 minutes.

Did that change fixed the issue?
09-01-2012 02:52 PM
Find all posts by this user Quote this message in a reply
Mardok Offline
Member

Post: #5
RE: [ANDROID] Mem Block.h Quaternion.h - ERRORS
Hi, big thx for response and sory but I left the house for a while. I'll be back in an hour.
09-01-2012 03:53 PM
Find all posts by this user Quote this message in a reply
Mardok Offline
Member

Post: #6
RE: [ANDROID] Mem Block.h Quaternion.h - ERRORS
(09-01-2012 02:52 PM)Esenthel Wrote:  For eclipse:
could you try adding " -fpermissive" to
Project (Eclipse)\jni\Android.mk file in following lines:
LOCAL_CFLAGS := -I.. -fshort-wchar -Wl,--no-wchar-size-warning -fpermissive
LOCAL_CPPFLAGS := -I.. -fshort-wchar -Wl,--no-wchar-size-warning -fpermissive -ffriend-injection -Wno-invalid-offsetof

After adding -fpermissive all is fine, no errors.

Thanks.
09-01-2012 05:28 PM
Find all posts by this user Quote this message in a reply
Post Reply