错误:'互斥'没有命名类型

时间:2016-03-18 11:16:59

标签: c++ c++11 gcc

当我使用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工具)

1 个答案:

答案 0 :(得分:5)

你的评论是正确的:

#include  <mutex>    // std::mutex    

但是你没有得到正确的代码:

mutex mtx;           // mutex for critical section

那应该是std::mutex