2016-04-15 9 views
0

SFMLをAndroidにコンパイルしようとしていて、this tutorialに従っています。私はUbuntu 64ビットにインストールしています。私はcmakeコマンドを実行することができます。私はそれの後にmakeを実行し、それが私はこのエラーを取得するヘッダを構築する(または何か)されている場合でも:AndroidでSFMLを設定するときにエラーが発生する

In file included from /home/engineer/Desktop/SFML/src/SFML/Graphics/GLCheck.hpp:32:0, 
       from /home/engineer/Desktop/SFML/src/SFML/Graphics/Texture.cpp:30: 
/home/engineer/Desktop/SFML/src/SFML/Graphics/Texture.cpp: In member function 'bool sf::Texture::create(unsigned int, unsigned int)': 
/home/engineer/Desktop/SFML/src/SFML/Graphics/GLExtensions.hpp:114:55: error: 'GL_EXT_sRGB' was not declared in this scope 
    #define GLEXT_texture_sRGB      GL_EXT_sRGB 
                ^
/home/engineer/Desktop/SFML/src/SFML/Graphics/Texture.cpp:190:31: note: in expansion of macro 'GLEXT_texture_sRGB' 
    static bool textureSrgb = GLEXT_texture_sRGB; 
          ^
In file included from /home/engineer/Desktop/SFML/src/SFML/Graphics/Texture.cpp:30:0: 
/home/engineer/Desktop/SFML/src/SFML/Graphics/GLExtensions.hpp:115:55: error: 'GL_SRGB8_ALPHA8_EXT' was not declared in this scope 
    #define GLEXT_GL_SRGB8_ALPHA8      GL_SRGB8_ALPHA8_EXT 
                ^
/home/engineer/Desktop/SFML/src/SFML/Graphics/GLCheck.hpp:51:28: note: in definition of macro 'glCheck' 
    #define glCheck(expr) (expr) 
          ^
/home/engineer/Desktop/SFML/src/SFML/Graphics/Texture.cpp:213:54: note: in expansion of macro 'GLEXT_GL_SRGB8_ALPHA8' 
    glCheck(glTexImage2D(GL_TEXTURE_2D, 0, (m_sRgb ? GLEXT_GL_SRGB8_ALPHA8 : GL_RGBA), m_actualSize.x, m_actualSize.y, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL)); 
                ^
src/SFML/Graphics/CMakeFiles/sfml-graphics.dir/build.make:353: recipe for target 'src/SFML/Graphics/CMakeFiles/sfml-graphics.dir/Texture.cpp.o' failed 
make[2]: ** [src/SFML/Graphics/CMakeFiles/sfml-graphics.dir/Texture.cpp.o] Error 1 
CMakeFiles/Makefile2:343: recipe for target 'src/SFML/Graphics/CMakeFiles/sfml-graphics.dir/all' failed 
make[1]: ** [src/SFML/Graphics/CMakeFiles/sfml-graphics.dir/all] Error 2 
Makefile:116: recipe for target 'all' failed 
make: *** [all] Error 2 

したがって、基本的には1つのcppファイルに含まれているマクロに問題があります。エラーが発生する前にmakeは64%になります。

答えて

0

This issueはSFMLのバグトラッカーで今話題にされています。

あなたはその間にthis patchを試すことができます。

From c89d1a987bc8358ea87c56c5aac5f25e4fec8e2d Mon Sep 17 00:00:00 2001 
From: Gordon McShane <[email protected]> 
Date: Mon, 4 Apr 2016 11:56:16 -0700 
Subject: [PATCH] Fix OpenGL ES compilation issues for Android 

-Disable OpenGL ES 3.0 extensions on Android 
--- 
src/SFML/Graphics/GLExtensions.hpp | 7 ++++++- 
1 file changed, 6 insertions(+), 1 deletion(-) 

diff --git a/src/SFML/Graphics/GLExtensions.hpp b/src/SFML/Graphics/GLExtensions.hpp 
index b63ea99..3acb6c3 100644 
--- a/src/SFML/Graphics/GLExtensions.hpp 
+++ b/src/SFML/Graphics/GLExtensions.hpp 
@@ -110,9 +110,14 @@ 
    #define GLEXT_GL_FRAMEBUFFER_BINDING    GL_FRAMEBUFFER_BINDING_OES 
    #define GLEXT_GL_INVALID_FRAMEBUFFER_OPERATION GL_INVALID_FRAMEBUFFER_OPERATION_OES 

- // Core since 3.0 - EXT_sRGB 
+#ifdef SFML_SYSTEM_ANDROID 
+ #define GLEXT_texture_sRGB      false 
+ #define GLEXT_GL_SRGB8_ALPHA8      false 
+#else 
+  // Core since 3.0 - EXT_sRGB 
    #define GLEXT_texture_sRGB      GL_EXT_sRGB 
    #define GLEXT_GL_SRGB8_ALPHA8      GL_SRGB8_ALPHA8_EXT 
+#endif 

#else 
関連する問題