The SDL forums have moved to discourse.libsdl.org.
This is just a read-only archive of the previous forums, to keep old links working.


SDL Forum Index
SDL
Simple Directmedia Layer Forums
'vec2' has not been declared
Shmendrich


Joined: 25 Jun 2015
Posts: 6
I get 'vec2' has not been declared among other errors.

I get

Code:
This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.


even when im including

Code:
LOCAL_CFLAGS := -std=c++11


on my android.mk


this is the output of the compiler
Code:
[armeabi] Install        : libSDL2.so => libs/armeabi/libSDL2.so
[armeabi] Install        : libSDL2_image.so => libs/armeabi/libSDL2_image.so
[armeabi] Install        : libSDL2_mixer.so => libs/armeabi/libSDL2_mixer.so
[armeabi] Install        : libSDL2_ttf.so => libs/armeabi/libSDL2_ttf.so
[armeabi] Compile++ thumb: main <= audio_engine.cpp
In file included from /home/harlock/Downloads/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.8/include/random:35:0,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/misc/common.h:4,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/music.h:10,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:13,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:8:
/home/harlock/Downloads/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support for the \
  ^
   In file included from /home/harlock/Desktop/windowsproject/android-project/jni/src/misc/common.h:7:0,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/music.h:10,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:13,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:8:
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:175:7: error: expected nested-name-specifier before 'vec2'
 using vec2 = tvec2<float>;
       ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:175:7: error: 'vec2' has not been declared
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:175:12: error: expected ';' before '=' token
 using vec2 = tvec2<float>;
            ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:175:12: error: expected unqualified-id before '=' token
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:176:7: error: expected nested-name-specifier before 'dvec2'
 using dvec2 = tvec2<double>;
       ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:176:7: error: 'dvec2' has not been declared
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:176:13: error: expected ';' before '=' token
 using dvec2 = tvec2<double>;
             ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:176:13: error: expected unqualified-id before '=' token
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:177:7: error: expected nested-name-specifier before 'ivec2'
 using ivec2 = tvec2<int>;
       ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:177:7: error: 'ivec2' has not been declared
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:177:13: error: expected ';' before '=' token
 using ivec2 = tvec2<int>;
             ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec2.h:177:13: error: expected unqualified-id before '=' token
In file included from /home/harlock/Desktop/windowsproject/android-project/jni/src/misc/common.h:8:0,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/music.h:10,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:13,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:8:
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec3.h:60:7: error: expected nested-name-specifier before 'vec3'
 using vec3 = tvec3<float>;
       ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec3.h:60:7: error: 'vec3' has not been declared
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec3.h:60:12: error: expected ';' before '=' token
 using vec3 = tvec3<float>;
            ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec3.h:60:12: error: expected unqualified-id before '=' token
In file included from /home/harlock/Desktop/windowsproject/android-project/jni/src/misc/common.h:9:0,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/music.h:10,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:13,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:8:
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec4.h:68:7: error: expected nested-name-specifier before 'vec4'
 using vec4 = tvec4<float>;
       ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec4.h:68:7: error: 'vec4' has not been declared
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec4.h:68:12: error: expected ';' before '=' token
 using vec4 = tvec4<float>;
            ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/vec4.h:68:12: error: expected unqualified-id before '=' token
In file included from /home/harlock/Desktop/windowsproject/android-project/jni/src/misc/common.h:10:0,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/music.h:10,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:13,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:8:
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/mat4.h:58:7: error: expected nested-name-specifier before 'mat4'
 using mat4 = tmat4<float>;
       ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/mat4.h:58:7: error: 'mat4' has not been declared
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/mat4.h:58:12: error: expected ';' before '=' token
 using mat4 = tmat4<float>;
            ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/maths/mat4.h:58:12: error: expected unqualified-id before '=' token
In file included from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/music.h:10:0,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:13,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:8:
/home/harlock/Desktop/windowsproject/android-project/jni/src/misc/common.h: In function 'std::string get_path(std::string)':
/home/harlock/Desktop/windowsproject/android-project/jni/src/misc/common.h:87:33: error: 'SDL_GetBasePath' was not declared in this scope
    char *base = SDL_GetBasePath();
                                 ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/misc/common.h:89:17: error: 'SDL_free' was not declared in this scope
    SDL_free(base);
                 ^
In file included from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:13:0,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:8:
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/music.h: At global scope:
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/music.h:25:4: error: 'Mix_Music' does not name a type
    Mix_Music *mix_music = nullptr;
    ^
In file included from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:14:0,
                 from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:8:
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/sound.h:19:14: error: 'vec2' has not been declared
    void play(vec2 pos, vec2 observer);
              ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/sound.h:19:24: error: 'vec2' has not been declared
    void play(vec2 pos, vec2 observer);
                        ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/sound.h:27:4: error: 'Mix_Chunk' does not name a type
    Mix_Chunk *mix_sound = nullptr;
    ^
In file included from /home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:8:0:
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:27:35: error: 'vec2' has not been declared
    static void play_sound(string, vec2, vec2);
                                   ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.h:27:41: error: 'vec2' has not been declared
    static void play_sound(string, vec2, vec2);
                                         ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp: In static member function 'static bool audio_engine::init()':
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:22:28: error: 'MIX_DEFAULT_FORMAT' was not declared in this scope
    if (Mix_OpenAudio(FREQ, MIX_DEFAULT_FORMAT, CHANNELS, SIZE) == -1) {
                            ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:22:62: error: 'Mix_OpenAudio' was not declared in this scope
    if (Mix_OpenAudio(FREQ, MIX_DEFAULT_FORMAT, CHANNELS, SIZE) == -1) {
                                                              ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:23:83: error: 'Mix_GetError' was not declared in this scope
       cout << "SDL_Mixer could not initialize! SDL_Mixer error: " << Mix_GetError() << endl;
                                                                                   ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp: In static member function 'static void audio_engine::close()':
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:32:20: error: range-based 'for' loops are not allowed in C++98 mode
    for (sound *s : sounds) delete s;
                    ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:33:19: error: 'Mix_CloseAudio' was not declared in this scope
    Mix_CloseAudio();
                   ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp: At global scope:
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:42:44: error: 'vec2' has not been declared
 void audio_engine::play_sound(string path, vec2 pos, vec2 observer) {
                                            ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:42:54: error: 'vec2' has not been declared
 void audio_engine::play_sound(string path, vec2 pos, vec2 observer) {
                                                      ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp: In static member function 'static void audio_engine::pause_music(bool)':
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:72:22: error: 'Mix_PauseMusic' was not declared in this scope
       Mix_PauseMusic();
                      ^
/home/harlock/Desktop/windowsproject/android-project/jni/src/audio/audio_engine.cpp:74:23: error: 'Mix_ResumeMusic' was not declared in this scope
       Mix_ResumeMusic();
                       ^
make: *** [/home/harlock/Desktop/windowsproject/android-project/obj/local/armeabi/objs/main/audio/audio_engine.o] Error 1


any ideas would be appreciated
Re: 'vec2' has not been declared
Sascha Schwarz


Joined: 28 Apr 2015
Posts: 5
Location: Germany
Shmendrich wrote:
I get

Code:
This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.


even when im including

Code:
LOCAL_CFLAGS := -std=c++11


on my android.mk
Shouldn't you be using LOCAL_CPPFLAGS, since you're using a C++ Compiler?
'vec2' has not been declared
Bob Rubbens
Guest

And are you sure your compiler even supports c++11? gcc 4.7 or later or something, if I recall correctly


On 19 July 2015 at 16:02, Sascha Schwarz wrote:
Quote:



Shmendrich wrote:

I get




Code:

This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.




even when im including




Code:

LOCAL_CFLAGS := -std=c++11




on my android.mk


Shouldn't you be using LOCAL_CPPFLAGS, since you're using a C++ Compiler?



-- Sascha


_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Shmendrich


Joined: 25 Jun 2015
Posts: 6
Yeah I was running with 4.8 and 4.9 but that was not the issue, I solved it by using

Code:
APP_STL := c++_static


Instead of

Code:
#APP_STL := gnustl_shared