gpt4 book ai didi

c++ - 支持 c++11 的 Makefile

转载 作者:行者123 更新时间:2023-12-01 14:36:48 26 4
gpt4 key购买 nike

我最近开始了一个 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

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

non-aggregate type 'vector' cannot be initialized with an initializer list

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

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 support

关于c++ - 支持 c++11 的 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43423680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com