-
Notifications
You must be signed in to change notification settings - Fork 95
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
quantum won't compile due to usage of non-standard and non-portable C++ extensions #150
Comments
Update: There was a in the CMakeLists as part of my usual boilerplate. Is there a specific reason why non-standard / non-portable C++ extensions are necessary? |
Hi @robinchrist I don't think there's any specific reason for using non-standard extensions. I think this compiler issue should be fixed. Since the copy constructor is explicitly deleted for atomics, the move assignment for the spinlock should be written-out rather than defaulted. If you can work with the |
Hi @robinchrist Please try the change in this pull request. We will merge if this fixes the issue. |
Hi, Sorry for my later reply, I've been out of office. Unfortunately, your PR #152 does not yet fix the issue:
I have attached a framework for a simple repro, just make sure you're using Clang as your compiler (
It should be the same on all Linux distributions, given you're using Clang 12 and the CMake with |
Thanks for providing the framework above for reproducing the issue. I created a newer build environment with newer clang and am now able to reproduce the errors that you are getting. Will work on fixing them when I get some time next. |
Hi @robinchrist Please try the change in pull request #153. This should fix the issue. |
I was trying to include quantum simply as a subproject, but I can even get it to work in a very reduced example.
First approach (what should work for a properly written header only library based on CMake):
Does not work, because:
Not surprising, because:
It seems like the quantum CMake file was never meant to be used without installing...
Okay, no problem: It's a header only library, right? Let's just include the directory.
Well, that doesn't work:
Okay, cool, that must be due to me including this project as a subdirectory, right? Let's try with the "official" install path:
Nope, that wasn't it.
main.cpp simply includes the quantum header for a start:
Tested on Ubuntu 20.04 with Clang 12.0.1
What am I missing?
The text was updated successfully, but these errors were encountered: