Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++&引用'__gthread_active_p';未在此范围内声明;_C++_Cmake_Mingw_Libatomic - Fatal编程技术网

C++ C++&引用'__gthread_active_p';未在此范围内声明;

C++ C++&引用'__gthread_active_p';未在此范围内声明;,c++,cmake,mingw,libatomic,C++,Cmake,Mingw,Libatomic,我正在windows上使用std::atomic和std::thread支持编译GCC。 我在这里使用mingw: 我正在使用以下命令进行构建: g++.exe @CMakeFiles/StrFormatsJSONTest.dir/includes_CXX.rsp -latomic -lglu32 -lopengl32 -D_WIN32_WINNT=0x600 -DWINVER=0x600 -D_WIN32_LEAN_AND_MEAN=1 -g -std=gnu++2a -o main.cpp.

我正在windows上使用std::atomic和std::thread支持编译GCC。 我在这里使用mingw:

我正在使用以下命令进行构建:

g++.exe @CMakeFiles/StrFormatsJSONTest.dir/includes_CXX.rsp -latomic -lglu32 -lopengl32 -D_WIN32_WINNT=0x600 -DWINVER=0x600 -D_WIN32_LEAN_AND_MEAN=1 -g -std=gnu++2a -o main.cpp.obj -c main.cpp
但是,在使用
#时,包括

很明显,这就是错误所在:

当我在
#include
之前添加一个定义(弱链接)时,它会起作用。。。但我也会遇到其他错误,例如:

error: '__gthread_once_t' does not name a type; did you mean '__gthread_active_p'?
出于某些原因,GCC不包括以下任何一项:

  • gthr默认值.h
  • gthr posix.h
  • gthr单体.h

  • 发现问题时,我有一个名为“Signal.h”的文件,它被包含在其中,而不是GCC的

        find_package( Threads )
        target_link_libraries(${PROJECT_NAME} PRIVATE ${CMAKE_THREAD_LIBS_INIT} )
    
        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -latomic -lglu32 -lopengl32 -D_WIN32_WINNT=0x600 -DWINVER=0x600 -D_WIN32_LEAN_AND_MEAN=1 -D__GTHREADS=1")
    
    error: '__gthread_once_t' does not name a type; did you mean '__gthread_active_p'?