0

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

4

1 回答 1

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
于 2013-04-06T06:22:57.553 回答