-
Notifications
You must be signed in to change notification settings - Fork 44
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
ECST does not compile (gcc or clang) on Windows, issue is either with boost::hana or ECST itself. #33
Comments
Well first of all if a library is 'header-only' then it, by definition, would not have any .dll/.lib/.a/whatever other files, only Same with this library, you only need to include the include directories and 'use' them in your project. I've not tried it in VC (I'm a linux user myself) but I'd imagine the parts of the source that do not work are probably just some GCC intrinsics or some You'd start by just making your project in VC, then just linking in the headers from this project, then find what does not compile as you try to use it and fix it (and PR the fixes back), and repeat. :-) |
Ah okay, well it seems from this #29 that it will be easiest to just use a g++ or clang compiler instead - I may try Visual Studio with g++ or clang dropped in as the compiler, I'll report back with results. |
Update: Visual Studio g++ was incredibly unfriendly so I've switched to Code::Blocks using MinGW gcc as the compiler. Unfortunately, after linking boost, ecst, vrm_core and vrm_pp I get some errors in the ecst code that I believe may be actual errors and not just linking issues. Do you have any ideas? EDIT: I believe this is an issue with my MinGW installation - I think I have the Win32 threads rather than Posix threads, I will report back when I try Posix shortly. EDIT 2: Made sure I'm using Posix, but still get the same errors. I'm very confused at the moment. EDIT 3: Turns out the "standard" MinGW installation does not support Posix (or if it does, not easily). I installed MinGW-w64 and got a little bit further, see the below post.
|
Update 2: Uninstalled MinGW, and installed MinGW-w64 (which supports Posix properly). I now get the following errors: EDIT: I have looked through every single issue, and the only hope seems to be using nuwen MinGW #15, although this is just a package containing the latest boost and MinGW-w64 so I can't see why this would make a difference. I will update when I have tried again. EDIT 2: So I uninstalled MinGW-w64 and installed nuwen MinGW. I get exactly the same errors upon building, which makes me believe this is an error with ECST itself as the creator mentions using nuwen MinGW to successfully build ECST in #15 . At this point I believe it is probably best for me to abandon hope of using ECST and roll my own solution. If anyone does have a solution to the compilation issues I'm facing that would be great. EDIT 3: In case anyone is reading this in the future, these are the steps I took that did not work: 1 - Clone ECST repo. I get exactly the same errors (below) that I got with any other MinGW installation. I can only conclude there is an issue with ECST, or some magic trick that will get it working. Either way, I unfortunately do not have time to mess around with this any longer.
|
Just for "fun", I tried compiling with Clang. I got essentially the exact same issue, so I'm now almost certain either boost::hana or ECST is broken.
|
@anonanon17: this is an |
@anonanon17 : Let me know if 30cfe09 fixed your build issue. BTW, if you need a Windows implementation of |
Appears to have fixed the issue, thanks! I used gcc to compile (via nuwen MinGW) and I will try a clang build later. I'm going to go through making a basic setup using your thesis as a guide, and I'll let you know if I encounter any problems. I'm fairly certain the original issue is fixed. Will also check out that std::thread implementation, thanks. |
After a lot of struggling I managed to figure out how to build ecst on Windows using MinGW. I've build the header library but I don't see any .dll or similar file that I could include in my project.
I'm trying to compile into a format I can just use with Visual Studio, since my main project is already setup in there and I don't want to have to rewrite all my platform specific code to work with MinGW. I know you can't compile ecst with VC, but can I compile it with MinGW into a dll or whatever then use it in a Visual Studio project?
I'm very new to CMake etc... so maybe I'm missing something embarrassingly obvious. I'm a mathematician (not a computer scientist) so I'm not 100% up to date with all this (I assume really useful) technology. So I guess what I'm asking is, is there any way I can compile ecst and then use it in another project or do I have to compile ecst with my project each time (and thus forcing me to not use Visual Studio)?
I'm so confused, every other header-only library I have used is just a .dll, a .lib and a bunch of header files. When I generate with MinGW I don't get any of these things. Just a file named "a.exe" that doesn't appear to do anything. Note that I commented out the examples on the makefile as I don't have SFML installed (I'm use SDL). Reading my post through, I think I must be missing something obvious - apologies if this post is a waste of everyone's time.
Thanks!
The text was updated successfully, but these errors were encountered: