Git Product home page Git Product logo

Comments (8)

gvanem avatar gvanem commented on July 23, 2024 2

just wondering if anyone usese windows with msvc c++ here and got this figured out

You probably compiled your project as C++. Look, there's no:

#ifdef __cplusplus
extern "C" {
#endif

inside microui.h

from microui.

AregevDev avatar AregevDev commented on July 23, 2024

Have the same issue, not sure how to fix it...

from microui.

inkydragon avatar inkydragon commented on July 23, 2024
  1. initial empty vs2019 project
  2. set /SUBSYSTEM:WINDOWS flag
  3. add _CRT_SECURE_NO_WARNINGS flag
  4. put everything in the root folder of your project, or you may Configure Include Directories to include src and demo folder.
  5. use NuGet add SDL2 and nupengl.core (windows already has opengl)
    Or you may add those dependences by hand like: How do I link SDL with Visual Studio 2019 - Stack Overflow
  6. change include:
    In main.c: #include <SDL2/SDL.h> => #include "SDL.h"
    In renderer.c:
    • #include <SDL2/SDL.h> => #include "SDL.h";
    • #include <SDL2/SDL_opengl.h> => #include "SDL_opengl.h"
  7. add opengl32.lib to Additional Dependencies
  8. build and run!

from microui.

immortalx74 avatar immortalx74 commented on July 23, 2024

I tried @inkydragon 's suggestion but no luck. I'm not using VS, just invoking the compiler from a developer command prompt.
Any ideas?

from microui.

gvanem avatar gvanem commented on July 23, 2024

Your project is C++, right? Apply this simple patch:

--- a/src/microui.h 2021-10-09 12:10:12
+++ b/src/microui.h 2021-10-09 12:14:10
@@ -8,6 +8,10 @@
 #ifndef MICROUI_H
 #define MICROUI_H

+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define MU_VERSION "2.01"

 #define MU_COMMANDLIST_SIZE     (256 * 1024)
@@ -293,4 +297,8 @@
 void mu_begin_panel_ex(mu_Context *ctx, const char *name, int opt);
 void mu_end_panel(mu_Context *ctx);

+#ifdef __cplusplus
+};
+#endif
+
 #endif

from microui.

immortalx74 avatar immortalx74 commented on July 23, 2024

@gvanem I don't have a "project" as I'm not actually using Visual Studio. I invoke the compiler from the command line, and the default behavior with .c extensions is to compile as C. Even if I force C compilation with /Tc or /TC compiler flags, I always get the error:

LINK : fatal error LNK1561: entry point must be defined

I also tried with your fix and forcing C++ compilation, in which case I get several C4576 errors.

from microui.

g012 avatar g012 commented on July 23, 2024

from microui.

immortalx74 avatar immortalx74 commented on July 23, 2024

Problem fixed. I was only compiling main.c and microui.c. I assumed that renderer.c was included in main.c

from microui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.