支持c ++ 11的生成文件

Makefile to support c++11

本文关键字:文件 支持      更新时间:2023-10-16

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

output: main.o google_api.o
    g++ main.o google_api.o -o output
    rm *.o
    clear
    ./output
main.o: main.cpp
    g++ -c main.cpp
test.o: google_api.cpp google_api.h
    g++ -c google_api.cpp

当我编译代码时,我得到下一个错误 -

无法初始化非聚合类型"向量" 带有初始值设定项列表

我正在检查此问题,发现我需要将 -std=c++11 支持添加到我的 makefile 中以解决问题。我将以下命令添加到代码中:

g++ -std=c++11 main.o google_api.o -o output

但这不会做出任何改变。如果有人能帮助我解决这个问题,我会很高兴。谢谢

更改以下内容:

main.o: main.cpp
    g++ -c main.cpp

自:

main.o: main.cpp
    g++ -std=c++11 -c main.cpp

你也可以使用这样的东西作为你的Makefile的基础:

CXX=g++
CXXFLAGS=-g -Wall -MMD -std=c++11
LDLIBS=-lm # list libs here
output: main.o google_api.o
clean:
    $(RM) *.o *.d output
-include $(wildcard *.d)

关于stackoverflow也有类似的问题:Makefile c++11支持