你为什么想做这个?据我所知,唯一的区别是,g++除了传递-lstdc++给链接器,还要链接C++标准库.
因此,如果您将该选项传递给GCC,它应该将其转发给链接器,并且一切都应该没问题.但我真的没有理由这样做.只是用g++.
也就是说,我gcc过去用自己来编译C++代码.当我有一堆文件,混合C++和C代码时,我只是使用编译所有内容gcc,因为g++默认情况下.c它被视为C++代码,当C代码使用诸如new标识符之类的东西时会破坏构建.添加-lstdc++总能很好地工作.
请参阅GCC联机帮助页
编译C++程序
C++源文件通常使用后缀.C,.cc,.cpp,.CPP,.c ++,.cc或.cxx; C++头文件通常使用.hh,.hpp,.H或(对于共享模板代码).tcc; 和预处理的C++文件使用后缀.ii.GCC识别具有这些名称的文件并将它们编译为C++程序,即使您以与编译C程序相同的方式调用编译器(通常使用名称gcc).
但是,使用gcc不会添加C++库.g ++是一个调用GCC并将.c,.h和.i文件视为C++源文件而不是C源文件的程序,除非使用-x,并自动指定与C++库的链接.当预编译具有.h扩展名的C头文件以用于C++编译时,此程序也很有用.在许多系统上,还安装了名为c ++的g ++.
编译C++程序时,可以指定许多用于编译任何语言程序的命令行选项; 或对C和相关语言有意义的命令行选项; 或仅对C++程序有意义的选项.
| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |