有没有办法将g ++中的-std = ***应用于一个文件

时间:2013-04-06 03:27:11

标签: g++

我正在使用C ++包装大型C库并将一些外部层转换为C ++。

遵循在转换中一次只打破一件事的原则,我不会在以后编写makefile。

我想做以下事情:

g++ a.c b.c d.c e.c --std=c++11 test.cpp

甚至

g++ a.c b.c d.c  --std=c++11 e.cpp test.cpp

稍后。

有没有办法指定-std = c ++ 11只适用于C ++文件?

1 个答案:

答案 0 :(得分:0)

实现此目标的一种方法是在两个不同的阶段打破编译过程:

1)使用std说明符分别编译为目标文件:

g++ -S a.c b.c d.c
g++ -S a.cpp b.cpp d.cpp -std=c++11

2)使用生成的所有目标文件编译成最终可执行文件:

g++ -o myelf a.s b.s d.s