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

Compiling in MSVC 2013 with provided boost has problem #33

Closed
GoogleCodeExporter opened this issue Apr 4, 2015 · 4 comments
Closed

Comments

@GoogleCodeExporter
Copy link

I'm getting the same problem as described here:

https://svn.boost.org/trac/boost/ticket/9332

I'm guessing something similar to their solution will work for you.

Original issue reported on code.google.com by chadwick...@gmail.com on 5 Mar 2015 at 9:29

@GoogleCodeExporter
Copy link
Author

By the way, I can now compile lsl using system boost. Because it's possible to 
download precompiled binaries for Windows, and because using system boost is 
trivial in OSX (using homebrew), and trivial in linux (I think?), maybe going 
forward that should be the preferred option?

Original comment by chadwick...@gmail.com on 16 Mar 2015 at 11:23

@GoogleCodeExporter
Copy link
Author

Boost (or we may blame perhaps C++) is deceiving in the sense that different 
compilers handle syntax in different ways. What's worse is that the rules keep 
changing as does little things in boost (like variable names and file paths) 
that can cause nauseatingly hard to find compiler errors.

Apropos of this, lslboost was created to handle some of the name mangling 
collisions that can arise. A particularly worrisome bit of code is the pugixml 
files. This is (I believe) the original reason Christian decided to make the 
custom-named lslboost stuff. 

Having said that, I'm glad that this is working. I spent a lot of time changing 
little details in the lsl source to make it cross-compilable on the three OSs 
with their various different compilers -- plus iOS, although that isn't out 
yet. I also had to apply some patches to the boost code in order for it to work 
on OSX. All of these changes are documented in the change log.

Original comment by david.er...@gmail.com on 17 Mar 2015 at 6:54

@mgrivich
Copy link
Collaborator

mgrivich commented Dec 3, 2015

This can also be fixed by taking has_member_function_callable_with.hpp from boost 1.56.0 and copying it over liblsl\external\lslboost\intrusive\detail\has_member_function_callable_with.hpp and then replacing boost with lslboost in most places in the file. This is a hack on top of a hack though.

@mgrivich mgrivich self-assigned this Dec 9, 2015
@mgrivich
Copy link
Collaborator

mgrivich commented Dec 9, 2015

I implemented the fix I described in the previous post. It is not particularly pleasing, but a significant change to the boost setup would require a significant amount of work. I put a new, functional vs2013.sln on github. There were numerous other small fixes required, but none of them were particularly significant.

@mgrivich mgrivich closed this as completed Dec 9, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants