• Dear Cerberus X User!

    As we prepare to transition the forum ownership from Mike to Phil (TripleHead GmbH), we need your explicit consent to transfer your user data in accordance with our amended Terms and Rules in order to be compliant with data protection laws.

    Important: If you accept the amended Terms and Rules, you agree to the transfer of your user data to the future forum owner!

    Please read the new Terms and Rules below, check the box to agree, and click "Accept" to continue enjoying your Cerberus X Forum experience. The deadline for consent is April 5, 2024.

    Do not accept the amended Terms and Rules if you do not wish your personal data to be transferred to the future forum owner!

    Accepting ensures:

    - Continued access to your account with a short break for the actual transfer.

    - Retention of your data under the same terms.

    Without consent:

    - You don't have further access to your forum user account.

    - Your account and personal data will be deleted after April 5, 2024.

    - Public posts remain, but usernames indicating real identity will be anonymized. If you disagree with a fictitious name you have the option to contact us so we can find a name that is acceptable to you.

    We hope to keep you in our community and see you on the forum soon!

    All the best

    Your Cerberus X Team

Playing with 3D on Cerberus-X

What kind of meshes does your mesh tool load? I'm looking really forward to your next upload with more high level stuff as I'm currently checking out AGK2 vs your Vortex2 renderer. :)

Edit: I've quite some Irrlicht experience and used it several years in the past. :)
 
Last edited:
Hello again!

I started working on the high level stuff yesterday and am porting all the samples right now. Will push the changes most likely in a few hours.

About the model formats: I use Irrlicht to load the meshes in meshtool and then convert them to the native mesh format, so anything supported by Irrlicht will be supported by Vortex2. I have been working lately with the Assimp library, which supports a huge number of mesh formats, and might switch to that in Vortex2 in the near future (it is what AGK uses). The biggest gain would be FBX support.

About collision, my field of expertise is graphics and not collision, so the things I have been working on here are pretty basic. Box and sphere collisions are very easy to implement, so I will add those first, but I am not familiar with the math to do triangle collision detection. If anyone can point me to a good tutorial on it, it would be of great help. Another option would be to just extract that code from MiniB3D.

Last but not least, the problem with physics is that there are currently no 3D physics libraries for Cerberus, and writing one from scratch and maintaining Vortex2 would be a lot of work. I found one simple 3D physics library written in C++ that has a reasonably small amount of code, so porting it should be doable: https://github.com/RandyGaul/qu3e. Anyway, focusing on basic collision detection is way more important right now.
 
Thanks and I agree. Currently I don't need Physics that much but I could give it a try to port Bullet for instance to CX. I'm locking forward to your new uploads. :) Thanks so much for your work!
 
Wow, porting Bullet would be a LOT of work. Although it is pretty basic, the qu3e library that I posted should be enough for simple needs, and without any doubts, much easier to port.

I'll post the news here as soon as I have commited the changes (still working on it!). There won't be updated docs today, but you can always take a look at the samples.
 
Looking forward to it too! And please, when you think it is ready for the public, please post an entry inside the module subforum.
 
Uploaded! Please have in mind that the API will change before final release, and so will the native mesh format, so you will need to reexport your meshes.

But you can check the demos in the "tests" directory to get an idea on how the new API works.
 
Awesome stuff, looks great. Doesn't seem to work for HTML5 though, at least I get this error:

GLFW is just fine!

Error: ERROR: 0:7: 'i' : Loop index cannot be compared with non-constant expression

How about 2d stuff? Can I just use normal 2d calls to draw over the 3d scene? Can I render (including 2d) to a texture? :)
I've noticed an "import game" in entity.cxs btw... Shouldn't harm but it isn't there.

About that Mesh Tool: Could you please go a bit more into detail what I can load and how I can convert it to this msh format? Thanks!

All in all, AWESOME work. Plus I like your coding style. Not that you can buy something from my words but I'm almost convinced to use it for my 3d project. Very, very well done indeed!

Will look into this Irrlicht Mesh Tool to see how I can convert my stuff.
 
Last edited:
Another issue: Your MeshTool doesn't build anymore.
 
Ok, the problem with HTML5 was in the vertex shader, WebGL does not seem to like for loops with variables instead of constants in the condition. I have fixed it.

About 2D support, Vortex is capable of drawing 2D primitives, textures and fonts, but Mojo2 is more advanced. I would love to add integration with Mojo2, and I will take a look at it after v2.0 for sure.

You can render to texture by creating a framebuffer like this:

Code:
'We create a 512x512 pixels framebuffer and enable depth testing when rendering to it:
Local fb:Framebuffer = New Framebuffer(512, 512, True)

'We enable rendering to this framebuffer
fb.Set()

'Perform rendering into it
World.Render()

'Enable rendering back to screen
Framebuffer.SetScreen()

'Now we can access the rendered texture with fb.ColorTexture

I have removed the "Import game" statement, it shouldn't be there anymore.

And I have also fixed the problems with meshtool and fonttool. Although they are Cerberus apps, they also rely on C++ tools. To build those tools, you should have a GCC compiler installed (on Windows, I use TDM-GCC-64) and run the build_tools script that you can find on the Vortex folder. After that, you should be able to run meshtool.cxs and fonttool.cxs.

Usage of both is fairly simple. I will write some docs before release. The more complex one is meshtool. Basically, you have three buttons on the toolbar:

- Create cube
- Load mesh (using Irrlicht)
- Save mesh in .msh format

Once a mesh is loaded, a panel appear on the right side, where you can change its material properties. Clicking on an option changes it value or opens a dialog to select another file (in case that the property is a texture). If you click cancel on a dialog, the element is removed (for example, to remove the normal texture, you click on it to open a dialog to select a new texture, and then click Cancel on the dialog).

Right clicking changes the camera mode so you can use typical FPS controls: WSAD to move and mouse to look around.

Thank you very much for your feedback! I'm glad you like this.
 
Last edited:
Right, got it working, thanks again!

When speaking about 2d "primitives" could you provide an example how you draw them?

Concrete I would need something like a texture I draw into using fonts and simple setting of pixels and display this texture as kind of an image then.

How difficult would be the mix with mojo2?

edit: Guess I found some in your Renderer Class like DrawPoint, DrawLine and so on. So I assume I have to set the renderer to render to that texture, call those commands and I'm done, right? Will try...
 
Last edited:
Wow, even on my low end system, it runs great! I really looking forward to this and porting this game over to it:
 

Attachments

  • CardRogues2.jpg
    CardRogues2.jpg
    63.7 KB · Views: 351
Meshtool doesn't build for me either. Fonttool does.

fonttool.cxs gives then the following errors:

"C:/Users/Micha/Desktop/FantomMonkey/Cerberus/bin/transcc_winnt" -target=Desktop_Game_(Glfw3) -config=Release -run "C:/Users/Micha/Desktop/FantomMonkey/Cerberus/modules_ext/vortex/meshtool.cxs"

TRANS cerberus compiler V2017-07-31

Parsing...

Semanting...

Translating...

Building...

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/context.o ../glfw3/src/context.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/egl_context.o ../glfw3/src/egl_context.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/init.o ../glfw3/src/init.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/input.o ../glfw3/src/input.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/monitor.o ../glfw3/src/monitor.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/osmesa_context.o ../glfw3/src/osmesa_context.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/vulkan.o ../glfw3/src/vulkan.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/wgl_context.o ../glfw3/src/wgl_context.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_init.o ../glfw3/src/win32_init.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_joystick.o ../glfw3/src/win32_joystick.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_monitor.o ../glfw3/src/win32_monitor.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_time.o ../glfw3/src/win32_time.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_thread.o ../glfw3/src/win32_thread.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_window.o ../glfw3/src/win32_window.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/window.o ../glfw3/src/window.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/stb_vorbis.o ../stb/stb_vorbis.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/stb_image.o ../stb/stb_image.c

g++ -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/main.o ../main.cpp

../main.cpp: In function 'void runSilentA(const char*)':

../main.cpp:5655:23: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

char * pDefaultCMD = "CMD.EXE";

^

../main.cpp: In function 'void runSilentW(const wchar_t*)':

../main.cpp:5713:26: warning: deprecated conversion from string constant to 'wchar_t*' [-Wwrite-strings]

wchar_t * pDefaultCMD = L"CMD.EXE";

^

g++ -m64 -L../openal/libs/Win64 -L../curl/lib/Win64 -Wl,--subsystem,windows -o Release64/CerberusGame build/Release64/context.o build/Release64/egl_context.o build/Release64/init.o build/Release64/input.o build/Release64/monitor.o build/Release64/osmesa_context.o build/Release64/vulkan.o build/Release64/wgl_context.o build/Release64/win32_init.o build/Release64/win32_joystick.o build/Release64/win32_monitor.o build/Release64/win32_time.o build/Release64/win32_thread.o build/Release64/win32_window.o build/Release64/window.o build/Release64/stb_vorbis.o build/Release64/stb_image.o build/Release64/main.o -lcomdlg32 -lgdi32 -lopengl32 -lOpenAL32 -lcurldll -lws2_32

build/Release64/main.o:main.cpp:(.text+0x2a36): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x2de0): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x82c4): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x84a4): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x90f2): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x9297): undefined reference to `__imp_CoUninitialize'

Makefile:53: recipe for target 'Release64/CerberusGame' failed

build/Release64/main.o:main.cpp:(.text+0x1176e): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x11a9b): undefined reference to `__imp_CoUninitialize'

TRANS FAILED: Error executing 'mingw32-make CCOPTS=" -m64 -O3 -DNDEBUG" LDOPTS=" -m64 -L../openal/libs/Win64 -L../curl/lib/Win64" OUT="Release64/CerberusGame"', return code=2

build/Release64/main.o:main.cpp:(.text+0x11b5e): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x11ec2): undefined reference to `__imp_CoUninitialize'

Done.
 
I could build mesh tool without any issues. Have you installed mingw properly?
 
I guess I have to reinstall it. I am just puzzeled that it compiles fonttool but not the meshtool.
 
@MikeHart I can build meshtool with no problems here using TDM-GCC-64. Are you using that same compiler? Other versions of MinGW may use different runtime libraries. Your game looks great, what engine were you using? I would love to see that ported to Vortex2!

@Martin I don't know how difficult it would be to integrate it with Mojo, hopefully not much (will took a look into it in the near future).

About render to texture, here's an example:

Code:
Import mojo.app
Import vortex

Class TestApp Extends App
  Method OnCreate:Int()
    'Init Vortex
    If Not World.Init()
      Print Stats.ShaderError()
      EndApp()
    End
 
    'Create camera
    mCam = Camera.Create()
    mCam.SetPosition(0, 0, -3)
    mCam.ClearColor = Color.DARK_GRAY
 
    'Create framebuffer without depth buffer
    mFramebuffer = Framebuffer.Create(512, 512, False)
 
    'Create cube
    mCube = Model.Create(Primitive.CreateCube())
    mCube.Material(0).BaseTexture = mFramebuffer.ColorTexture
 
    'Create light
    Local light:Light = Light.Create()
    light.SetRotation(45, -45, 0)
  End
 
  Method OnUpdate:Int()
    'Update world
    World.Update()

    'Rotate cube
    mCube.Turn(32 * Stats.DeltaTime(), 32 * Stats.DeltaTime(), 0)
  End
 
  Method OnRender:Int()
    'Render to framebuffer
    mFramebuffer.Set()
 
    'Draw 2D stuff
    Renderer.Setup2D(0, 0, 512, 512)
    Renderer.ClearColorBuffer(Color.WHITE)
    Renderer.SetColor(Color.ORANGE)
    Renderer.DrawRect(Rnd(0, 512), Rnd(0, 512), Rnd(0, 512), Rnd(0, 512))
    Renderer.SetColor(Color.BROWN)
    Renderer.DrawRect(Rnd(0, 512), Rnd(0, 512), Rnd(0, 512), Rnd(0, 512))
    Renderer.SetColor(Color.GREEN)
    Renderer.DrawEllipse(Rnd(0, 512), Rnd(0, 512), Rnd(0, 512), Rnd(0, 512))
 
    'Render back to screen
    Framebuffer.SetScreen()
 
    'Render world
    World.Render()
  End
Private
  Field mCam      : Camera
  Field mFramebuffer  : Framebuffer
  Field mCube      : Model
End

Function Main:Int()
  New TestApp
  Return False
End

For some reason, it does not work on HTML5 (I'll take a look!), but it works fine on GLFW.

For the sample to compile, download the last commit from Git, since there are a few changes in the API.
 
Thanks. I just need glfw for now so no worries about non working HTML5 from my side. ;) will check it!

What I basically want to achieve in such for instance a sonar screen where I have a 3d mesh of a monitor and want to put a texture in front of it where I plot the sonar into.
 
Your game looks great, what engine were you using?

Thank you, It is AGK2.

And I got Meshtool to compile. I had the path pointing to the 32bit version. For CX I had the content of the 64bit zip placed where CX needs it, but for your batch commands it could not find it. After setting the path collectly, I was able to build it.
 
Argg, not I get errors compiling fonttool.cxs and meshtool.cxs.

I give up

Code:
"C:/Users/Micha/Desktop/FantomMonkey/Cerberus/bin/transcc_winnt" -target=Desktop_Game_(Glfw3) -config=Release -run "C:/Users/Micha/Desktop/FantomMonkey/Cerberus/modules_ext/vortex/meshtool.cxs"

TRANS cerberus compiler V2017-07-31

Parsing...

Semanting...

Translating...

Building...

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/context.o ../glfw3/src/context.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/egl_context.o ../glfw3/src/egl_context.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/init.o ../glfw3/src/init.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/input.o ../glfw3/src/input.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/monitor.o ../glfw3/src/monitor.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/osmesa_context.o ../glfw3/src/osmesa_context.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/vulkan.o ../glfw3/src/vulkan.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/wgl_context.o ../glfw3/src/wgl_context.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_init.o ../glfw3/src/win32_init.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_joystick.o ../glfw3/src/win32_joystick.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_monitor.o ../glfw3/src/win32_monitor.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_time.o ../glfw3/src/win32_time.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_thread.o ../glfw3/src/win32_thread.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/win32_window.o ../glfw3/src/win32_window.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/window.o ../glfw3/src/window.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/stb_vorbis.o ../stb/stb_vorbis.c

gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/stb_image.o ../stb/stb_image.c

g++ -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/main.o ../main.cpp

../main.cpp: In function 'void runSilentA(const char*)':

../main.cpp:5655:23: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

char * pDefaultCMD = "CMD.EXE";

^

../main.cpp: In function 'void runSilentW(const wchar_t*)':

../main.cpp:5713:26: warning: deprecated conversion from string constant to 'wchar_t*' [-Wwrite-strings]

wchar_t * pDefaultCMD = L"CMD.EXE";

^

g++ -m64 -L../openal/libs/Win64 -L../curl/lib/Win64 -Wl,--subsystem,windows -o Release64/CerberusGame build/Release64/context.o build/Release64/egl_context.o build/Release64/init.o build/Release64/input.o build/Release64/monitor.o build/Release64/osmesa_context.o build/Release64/vulkan.o build/Release64/wgl_context.o build/Release64/win32_init.o build/Release64/win32_joystick.o build/Release64/win32_monitor.o build/Release64/win32_time.o build/Release64/win32_thread.o build/Release64/win32_window.o build/Release64/window.o build/Release64/stb_vorbis.o build/Release64/stb_image.o build/Release64/main.o -lcomdlg32 -lgdi32 -lopengl32 -lOpenAL32 -lcurldll -lws2_32

build/Release64/main.o:main.cpp:(.text+0x2a36): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x2de0): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x82e4): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x84c4): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x9112): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x92b7): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x1178e): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x11abb): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x11b7e): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x11ee2): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x12046): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x1211f): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x1215c): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x122d2): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x13fe7): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x14332): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x14aa2): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x14bcf): undefined reference to `__imp_CoInitializeEx'

build/Release64/main.o:main.cpp:(.text+0x14d33): undefined reference to `__imp_CoUninitialize'

build/Release64/main.o:main.cpp:(.text+0x14d83): undefined reference to `__imp_CoUninitialize'

Makefile:53: recipe for target 'Release64/CerberusGame' failed

build/Release64/main.o:main.cpp:(.text+0x14d9e): undefined reference to `__imp_CoInitializeEx'

TRANS FAILED: Error executing 'mingw32-make CCOPTS=" -m64 -O3 -DNDEBUG" LDOPTS=" -m64 -L../openal/libs/Win64 -L../curl/lib/Win64" OUT="Release64/CerberusGame"', return code=2

collect2.exe: error: ld returned 1 exit status

mingw32-make: *** [Release64/CerberusGame] Error 1

Done.
 
Last edited:
Back
Top Bottom