当我使用arm-none-eabi-g ++工具链在ubuntu中尝试以下代码时,我遇到了编译错误:
#include <iostream>
#include <thread> // std::thread
#include <mutex> // std::mutex
mutex mtx; // mutex for critical section
int main ()
{
return 0;
}
commpile命令:
arm-none-eabi-g++ -Os -Wall -std=c++11 -fno-rtti -fno-exceptions -c mt.cc
编译错误:
mt.cc:5:1:错误:&#39;互斥&#39;没有命名类型互斥mtx; // 临界区的互斥锁
^
gcc版本:
gcc版本4.8.4 20140725(发布)[ARM / embedded-4_8-branch修订版213147](适用于ARM嵌入式处理器的GNU工具)
答案 0 :(得分:5)
你的评论是正确的:
#include <mutex> // std::mutex
但是你没有得到正确的代码:
mutex mtx; // mutex for critical section
那应该是std::mutex