【发布时间】:2017-09-11 10:19:36
【问题描述】:
我最近开始了一个 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
当我编译我的代码时,我得到下一个错误 -
非聚合类型“向量”无法初始化 带有初始化列表
我正在检查这个问题,发现我需要在我的 makefile 中添加 -std=c++11 支持来解决这个问题。我将此命令添加到代码中:
g++ -std=c++11 main.o google_api.o -o 输出
但这不是做任何改变。如果有人可以帮助我解决这个问题,我会很高兴。谢谢
【问题讨论】:
-
您更改的行是用于链接的行,而不是用于编译的行。您需要将标志添加到两者。
-
我还建议您了解有关
make和makefile 的更多信息。尤其是关于变量。