diff --git a/include/eepp/base/string.hpp b/include/eepp/base/string.hpp index b796d3c62..683e157af 100644 --- a/include/eepp/base/string.hpp +++ b/include/eepp/base/string.hpp @@ -281,7 +281,7 @@ class EE_API String { ** @return Converted wide string ** @see ToAnsiString, operator String **/ - String ToWideString() const; + std::wstring ToWideString() const; #endif /** Convert the string to a Utf8 string */ diff --git a/include/eepp/declares.hpp b/include/eepp/declares.hpp index 48c4c4b9b..498a3eecc 100644 --- a/include/eepp/declares.hpp +++ b/include/eepp/declares.hpp @@ -98,16 +98,19 @@ #define EE_BACKEND_SDL_ACTIVE #endif -#if EE_PLATFORM == EE_PLATFORM_ANDROID - #define EE_NO_WIDECHAR -#endif - #if EE_PLATFORM == EE_PLATFORM_ANDROID || EE_PLATFORM == EE_PLATFORM_IOS #if defined( EE_BACKEND_SDL_ACTIVE ) #define main SDL_main #endif #endif +#ifdef __cplusplus +#define EE_MAIN_FUNC extern "C" +#else +#define EE_MAIN_FUNC +#endif + + #if EE_PLATFORM != EE_PLATFORM_ANDROID #define EE_SUPPORT_EXCEPTIONS #endif diff --git a/projects/linux/ee.creator.user b/projects/linux/ee.creator.user index c552716f0..368c69c32 100644 --- a/projects/linux/ee.creator.user +++ b/projects/linux/ee.creator.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget diff --git a/src/eepp/base/string.cpp b/src/eepp/base/string.cpp index 8c418f550..29a6225e0 100644 --- a/src/eepp/base/string.cpp +++ b/src/eepp/base/string.cpp @@ -354,7 +354,7 @@ std::string String::ToAnsiString(const std::locale& locale) const } #ifndef EE_NO_WIDECHAR -String String::ToWideString() const +std::wstring String::ToWideString() const { // Prepare the output string std::wstring output; diff --git a/src/examples/empty_window/empty_window.cpp b/src/examples/empty_window/empty_window.cpp index 27fd04785..108a08c85 100644 --- a/src/examples/empty_window/empty_window.cpp +++ b/src/examples/empty_window/empty_window.cpp @@ -1,6 +1,6 @@ #include -int main (int argc, char * argv []) +EE_MAIN_FUNC int main (int argc, char * argv []) { // Create a new window cWindow * win = cEngine::instance()->CreateWindow( WindowSettings( 960, 640, "eepp - Empty Window" ) ); diff --git a/src/examples/external_shader/external_shader.cpp b/src/examples/external_shader/external_shader.cpp index 5fe25bbbd..f5dd230ee 100644 --- a/src/examples/external_shader/external_shader.cpp +++ b/src/examples/external_shader/external_shader.cpp @@ -81,7 +81,7 @@ void videoResize( cWindow * w ) { } using namespace Demo_ExternalShader; -int main (int argc, char * argv []) +EE_MAIN_FUNC int main (int argc, char * argv []) { win = cEngine::instance()->CreateWindow( WindowSettings( 960, 640, "eepp - External Shaders" ), ContextSettings( true ) ); diff --git a/src/examples/fonts/fonts.cpp b/src/examples/fonts/fonts.cpp index 9d9bec2f8..bf4d5d14e 100644 --- a/src/examples/fonts/fonts.cpp +++ b/src/examples/fonts/fonts.cpp @@ -1,6 +1,6 @@ #include -int main (int argc, char * argv []) +EE_MAIN_FUNC int main (int argc, char * argv []) { // Create a new window cWindow * win = cEngine::instance()->CreateWindow( WindowSettings( 960, 640, "eepp - Fonts" ), ContextSettings( true ) ); diff --git a/src/examples/physics/physics.cpp b/src/examples/physics/physics.cpp index d46c3799c..e48f0ca66 100644 --- a/src/examples/physics/physics.cpp +++ b/src/examples/physics/physics.cpp @@ -608,7 +608,7 @@ void PhysicsDestroy() { mDemo[ mCurDemo ].destroy(); } -int main (int argc, char * argv []) +EE_MAIN_FUNC int main (int argc, char * argv []) { mWindow = cEngine::instance()->CreateWindow( WindowSettings( 1024, 768, "eepp - Physics" ), ContextSettings( true ) ); diff --git a/src/examples/sound/sound.cpp b/src/examples/sound/sound.cpp index 8836f0782..3f10eff84 100644 --- a/src/examples/sound/sound.cpp +++ b/src/examples/sound/sound.cpp @@ -55,7 +55,7 @@ void playMusic() { } /// Entry point of application -int main (int argc, char * argv []) +EE_MAIN_FUNC int main (int argc, char * argv []) { // Play a sound playSound(); diff --git a/src/examples/sprites/sprites.cpp b/src/examples/sprites/sprites.cpp index 024ea4c35..a989005a2 100644 --- a/src/examples/sprites/sprites.cpp +++ b/src/examples/sprites/sprites.cpp @@ -26,7 +26,7 @@ void spriteCallback( Uint32 Event, cSprite * Sprite, void * UserData ) { } } -int main (int argc, char * argv []) +EE_MAIN_FUNC int main (int argc, char * argv []) { // Create a new window cWindow * win = cEngine::instance()->CreateWindow( WindowSettings( 640, 480, "eepp - Sprites" ), ContextSettings( true ) ); diff --git a/src/examples/vbo_fbo_batch/vbo_fbo_batch.cpp b/src/examples/vbo_fbo_batch/vbo_fbo_batch.cpp index 81fe95b9b..925ce9aaf 100644 --- a/src/examples/vbo_fbo_batch/vbo_fbo_batch.cpp +++ b/src/examples/vbo_fbo_batch/vbo_fbo_batch.cpp @@ -1,6 +1,6 @@ #include -int main (int argc, char * argv []) +EE_MAIN_FUNC int main (int argc, char * argv []) { // Create a new window cWindow * win = cEngine::instance()->CreateWindow( WindowSettings( 1024, 768, "eepp - VBO - FBO and Batch Rendering" ), ContextSettings( true ) ); diff --git a/src/test/eetest.cpp b/src/test/eetest.cpp index 1e8d51594..29c18e2a3 100644 --- a/src/test/eetest.cpp +++ b/src/test/eetest.cpp @@ -1945,7 +1945,7 @@ void cEETest::End() { } -int main (int argc, char * argv []) { +EE_MAIN_FUNC int main (int argc, char * argv []) { Demo_Test::cEETest * Test = eeNew( Demo_Test::cEETest, () ); Test->Process();