Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with Windows #5

Open
totty90 opened this issue Oct 18, 2014 · 6 comments
Open

Compatibility with Windows #5

totty90 opened this issue Oct 18, 2014 · 6 comments

Comments

@totty90
Copy link

totty90 commented Oct 18, 2014

No description provided.

@cnlohr
Copy link
Owner

cnlohr commented Oct 19, 2014

Currently some people are running into problems with this. I don't have a Windows box to test with... But I am looking into it. I currently cross-compile for Windows.

@cnlohr
Copy link
Owner

cnlohr commented Oct 22, 2014

It looks like @phiresky s port works on Windows. I got mine to compile and run, but something is jankey, and I can't figure it out :-/

@phiresky
Copy link
Collaborator

Oh I forgot to mention, with my version the mouse does not work..keyboard works. No idea why, but I haven't looked into it.

@phiresky phiresky changed the title How to use this on win 8? Compatibility with Windows Dec 11, 2014
@b4ux1t3
Copy link

b4ux1t3 commented May 14, 2017

So, I'm currently trying to get it to run on Windows. I'm running MinGW on the Windows Subsystem for Linux directly on my machine. But I keep running into a problem where it requires a DLL that just doesn't seem to exist. Specifically, it's looking for libgcc_s_dw2-1.dll. Now, obviously this is getting built by MinGW and put in its /usr/lib/ directory, right? Well, close, but it's building a completely different DLL called libgcc_s_sjlj-1.dll.

Unfortunately I'm not very good at C++, particularly when it comes to cross-compiling. I'm trying to figure out if there is, say, a piece of code that just needs to reference any libgcc_s_*.dll file. Alternatively, it might just be that I need to figure out how to get MinGW to build the specific file I'm looking for.

As far as I understand, what's happening is that MinGW needs to link to the GCC Standard Library. But, the thing is, even when I compile it statically (-static-libgcc -static-libstdc++, or just -static. Both give me the same file size, so I assume they are identical), I get an increase in executable size, but still get the error about the missing DLL.

I'm currently looking into the code to see if I can't figure out what exactly is calling into that DLL, so I can maybe fix it to do things a little differently. I'm hoping maybe someone here has an idea of where specifically to look.

Also, I'm not using the Makefile, as I have no idea how to get it to build for Windows from Linux. The command I'm running was derived from the Makefile, though, and it's here:

i686-w64-mingw32-g++ -m32 -DGLEXT -std=c++11 -g -O2 -IWindows -IWindows/SFML-2.2/include -DGLEW_STATIC -DDrawText=DrawText -o winrelease/noeuclid.exe *.cpp Windows/libtcc.a -LWindows/SFML-2.2/lib -lglew -lsfml-graphics -lsfml-window -lsfml-system -lopengl32 -lkernel32 -lm -lgdiplus -lole32 -lglu32 -lopengl32 Windows/libtcc1.a

EDIT: Just to be clear, I haven't actually tried to build this using the Windows version of Make. I already had the MinGW toolchain installed, and I don't like to install stuff I don't need to. I'm going to see about getting that up and running tonight.

@cnlohr
Copy link
Owner

cnlohr commented May 15, 2017

ooohhhh boyyyy. I don't know if I can help you there. This definitely looks more like a stackoverflow issues than a noeuclid issue :-/.

I would start small with minimal "hello world" stuff and work from there

@b4ux1t3
Copy link

b4ux1t3 commented May 17, 2017

Yeah, I'm starting to see that. I thought maybe it was a problem with how or where you were calling certain features of the stdlib, but it looks like it's just a matter of MinGW not working properly. I actually got it to compile and run perfectly fine on Windows using MinGW directly, rather than through Linux (used the same flags and everything).

I'm gonna leave the comment as is, if that's cool with you, in case anyone else has the same problem and figures out if it is, indeed, a problem with noeuclid. At least it gives them a starting point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants