正确包含-std = c ++ 11编译器选项

时间:2013-11-24 01:46:05

标签: c++11 makefile

我希望使用C ++ unordered_map数据结构,但我认为我没有正确传递-std = c ++ 11选项。

  1. main.cpp包含main()。
  2. A.cpp需要使用unorder_map DS。
  3. 通过main.cpp访问A.cpp和B.cpp。还有一个支持头文件main.h。
  4. 程序集的Makefile如下所示:

    CC  = g++
    SRC = main.cpp B.cpp A.cpp
    HDR = main.h
    OBJ = main.o B.o A.o
    FLAGS   = -std=c++11
    
    all: main 
        $(CC) -o main $(OBJ) $(FLAGS)
    

    我收到一个错误,告诉我A.cpp不知道选项-std = c ++ 11。如果你能让我知道我哪里出错了会很棒。

1 个答案:

答案 0 :(得分:0)

似乎在“al​​l:main”之后添加以下内容,'make'成功:

A.o: A.cpp
     g++ -c A.cpp $(FLAGS)