c:\libapiai-master\libapiai-master\build\examples>mingw32-make install
mingw32-make install
[ 5%] Built target indent_stream_library
[ 10%] Built target cJson
[ 12%] Building CXX object apiai/CMakeFiles/apiai.dir/src/AI.cpp.obj
C:\libapiai-master\libapiai-master\apiai\src\AI.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]
#include <apiai/AI.h>
^
C:\libapiai-master\libapiai-master\apiai\src\AI.cpp: In static member function 'static ai::Service& ai::AI::sharedService()':
C:\libapiai-master\libapiai-master\apiai\src\AI.cpp:42:12: error: 'once_flag' in namespace 'std' does not name a type
static std::once_flag once_flag;
^
C:\libapiai-master\libapiai-master\apiai\src\AI.cpp:45:5: error: 'call_once' is not a member of 'std'
std::call_once(once_flag, [](){
^
C:\libapiai-master\libapiai-master\apiai\src\AI.cpp:45:20: error: 'once_flag' was not declared in this scope
std::call_once(once_flag, [](){
^
apiai\CMakeFiles\apiai.dir\build.make:62: recipe for target 'apiai/CMakeFiles/apiai.dir/src/AI.cpp.obj' failed
mingw32-make[16]: *** [apiai/CMakeFiles/apiai.dir/src/AI.cpp.obj] Error 1
CMakeFiles\Makefile2:179: recipe for target 'apiai/CMakeFiles/apiai.dir/all' failed
mingw32-make[15]: *** [apiai/CMakeFiles/apiai.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
mingw32-make[14]: *** [all] Error 2
我建了api.ai库。我用过MinGW。 我制作了Makefile,但我也犯了新错误。 有什么问题?
答案 0 :(得分:3)
MinGW(但不是MinGW-w64)目前不支持完整的pthread接口,包括std::once_flag
。
您应该切换到MinGW-w64(pthread支持)或使用Win32 API。此外,使用mingw-std-threads的MinGW,您可以获得部分线程支持。
答案 1 :(得分:1)
您未传递-std=c++11
标记。
答案 2 :(得分:0)
检查你的mingw版本,也许它不支持&#39;一次&#39;。或者也许只有一次&#39;包含在另一个标题中。向github报告问题,我将尝试解决它。 https://github.com/api-ai/libapiai
答案 3 :(得分:0)
我试过这个工作栏,它对我有用:
在detection_based_tracker.cpp进行修改
//#if (defined(__cplusplus) && __cplusplus > 199711L) || (defined(_MSC_VER) && _MSC_VER >= 1700)
//#define USE_STD_THREADS
//#endif