Makefile c++11 support

Makefile c++11 support

本文关键字:support c++11 Makefile      更新时间:2023-10-16

我最近在C++开始了一个小项目。我创建了一个简单的 Makefile:

    CC=g++
    CFLAGS =-std=c++0x -I. -c
    VPATH = src include

    vpath %.c src
    vpath %.h include
    TabooSearch : main.o Task.o TabooList.o
                  $(CC) $(CFLAGS) -o TabooSearch main.o Task.o TabooList.o

问题是当我运行make时,我从 gcc 收到这种错误:

error: ‘nullptr’ was not declared in this scope我不知道我的 Makefile 出了什么问题,有人可以帮助我解决这个问题吗?我的 gcc 版本是 Debian
上的 4.7.2提前致谢

由于您使用隐式规则来构建.o文件,因此应使用 CXXFLAGS 来设置C++标志:

CXXFLAGS =-std=c++0x

无需-I.-c

我会再添加一些标志来获得体面的错误和警告:

CXXFLAGS := -Wall -Wextra -pedantic-errors -std+c++0x

同样适用于g++.如果您的默认设置不调用 g++,则需要添加

CXX = g++