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

Failed to build on Windows(Mingw64) #164

Open
AstroAir opened this issue Apr 30, 2024 · 2 comments
Open

Failed to build on Windows(Mingw64) #164

AstroAir opened this issue Apr 30, 2024 · 2 comments

Comments

@AstroAir
Copy link

Sorry to bother you, I tried to compile in the mingw64 environment of Windows 10, but encountered an error. Below is the Cmake information and compilation error. I am not sure where the problem is, and I hope to receive help

-- Building for: Ninja
-- The CXX compiler identification is GNU 13.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done (7.1s)
-- Generating done (0.0s)
-- Build files have been written to: C:/Users/Qrm/Downloads/concurrencpp-develop/build
[9/18] Building CXX object CMakeFiles/concurrencpp.dir/source/threads/atomic_wait.cpp.obj
FAILED: CMakeFiles/concurrencpp.dir/source/threads/atomic_wait.cpp.obj
C:\msys64\mingw64\bin\c++.exe  -isystem C:/Users/Qrm/Downloads/concurrencpp-develop/include -std=gnu++20 -fvisibility=hidden -fno-keep-inline-dllexport -MD -MT CMakeFiles/concurrencpp.dir/source/threads/atomic_wait.cpp.obj -MF CMakeFiles\concurrencpp.dir\source\threads\atomic_wait.cpp.obj.d -o CMakeFiles/concurrencpp.dir/source/threads/atomic_wait.cpp.obj -c C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:130:76: error: 'atomic_comp_fn' has not been declared
  130 |         void wait(void* atom, const uint32_t old, std::memory_order order, atomic_comp_fn comp) {
      |                                                                            ^~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:154:37: error: 'atomic_comp_fn' has not been declared
  154 |                                     atomic_comp_fn comp) {
      |                                     ^~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: In member function 'void concurrencpp::details::atomic_wait_bucket::wait(void*, uint32_t, std::memory_order, int)':
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:132:26: error: 'comp' cannot be used as a function
  132 |                 if (!comp(atom, old, order)) {
      |                      ~~~~^~~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:137:26: error: 'comp' cannot be used as a function
  137 |                 if (!comp(atom, old, order)) {
      |                      ~~~~^~~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: In member function 'concurrencpp::details::atomic_wait_status concurrencpp::details::atomic_wait_bucket::wait_for(void*, uint32_t, std::chrono::milliseconds, std::memory_order, int)':
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:159:26: error: 'comp' cannot be used as a function
  159 |                 if (!comp(atom, old, order)) {
      |                      ~~~~^~~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:164:30: error: 'comp' cannot be used as a function
  164 |                     if (!comp(atom, old, order)) {
      |                          ~~~~^~~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:172:26: error: 'comp' cannot be used as a function
  172 |                 if (!comp(atom, old, order)) {
      |                      ~~~~^~~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: At global scope:
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:217:12: error: 'atomic_wait_table' has not been declared
  217 |     size_t atomic_wait_table::calc_table_size() noexcept {
      |            ^~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:227:12: error: 'atomic_wait_table' has not been declared
  227 |     size_t atomic_wait_table::index_for(const void* atom) const noexcept {
      |            ^~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:227:65: error: non-member function 'size_t concurrencpp::details::index_for(const void*)' cannot have cv-qualifier
  227 |     size_t atomic_wait_table::index_for(const void* atom) const noexcept {
      |                                                                 ^~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: In function 'size_t concurrencpp::details::index_for(const void*)':
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:228:49: error: 'm_size' was not declared in this scope; did you mean '_msize'?
  228 |         return std::hash<const void*>()(atom) % m_size;
      |                                                 ^~~~~~
      |                                                 _msize
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: At global scope:
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:231:5: error: 'atomic_wait_table' does not name a type; did you mean 'atomic_wait_status'?
  231 |     atomic_wait_table::atomic_wait_table() : m_size(calc_table_size()) {
      |     ^~~~~~~~~~~~~~~~~
      |     atomic_wait_status
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:236:10: error: 'atomic_wait_table' has not been declared
  236 |     void atomic_wait_table::wait(void* atom, const uint32_t old, std::memory_order order, atomic_comp_fn comp) {
      |          ^~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:236:91: error: 'atomic_comp_fn' has not been declared
  236 |     void atomic_wait_table::wait(void* atom, const uint32_t old, std::memory_order order, atomic_comp_fn comp) {
      |                                                                                           ^~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: In function 'void concurrencpp::details::wait(void*, uint32_t, std::memory_order, int)':
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:238:9: error: 'm_buckets' was not declared in this scope
  238 |         m_buckets[index].wait(atom, old, order, comp);
      |         ^~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: At global scope:
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:241:24: error: 'atomic_wait_table' has not been declared
  241 |     atomic_wait_status atomic_wait_table::wait_for(void* atom,
      |                        ^~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:245:52: error: 'atomic_comp_fn' has not been declared
  245 |                                                    atomic_comp_fn comp) {
      |                                                    ^~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: In function 'concurrencpp::details::atomic_wait_status concurrencpp::details::wait_for(void*, uint32_t, std::chrono::milliseconds, std::memory_order, int)':
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:248:16: error: 'm_buckets' was not declared in this scope
  248 |         return m_buckets[index].wait_for(atom, old, ms, order, comp);
      |                ^~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: At global scope:
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:251:10: error: 'atomic_wait_table' has not been declared
  251 |     void atomic_wait_table::notify_one(const void* atom) noexcept {
      |          ^~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: In function 'void concurrencpp::details::notify_one(const void*)':
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:253:9: error: 'm_buckets' was not declared in this scope
  253 |         m_buckets[index].notify_one(atom);
      |         ^~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: At global scope:
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:256:10: error: 'atomic_wait_table' has not been declared
  256 |     void atomic_wait_table::notify_all(const void* atom) noexcept {
      |          ^~~~~~~~~~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: In function 'void concurrencpp::details::notify_all(const void*)':
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:258:9: error: 'm_buckets' was not declared in this scope
  258 |         m_buckets[index].notify_all(atom);
      |         ^~~~~~~~~
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp: At global scope:
C:/Users/Qrm/Downloads/concurrencpp-develop/source/threads/atomic_wait.cpp:261:5: error: 'atomic_wait_table' does not name a type; did you mean 'atomic_wait_status'?
  261 |     atomic_wait_table& atomic_wait_table::instance() {
      |     ^~~~~~~~~~~~~~~~~
      |     atomic_wait_status
[14/18] Building CXX object CMakeFiles/concurrencpp.dir/source/threads/async_lock.cpp.obj
ninja: build stopped: subcommand failed.
@David-Haim
Copy link
Owner

Is this master branch though?
because this code is only in develop

@AstroAir
Copy link
Author

AstroAir commented May 5, 2024

I did download the code from the latest master branch and encountered the following build issue

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

2 participants