我正在使用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 ++文件?
答案 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