用gcc编译c与c++混编的工程
2012-02-15 18:50
197 查看
背景是我们有一个linux下的多媒体播放器项目,该程序是用c语言实现的。目前要引入一个功能模块,目的是使其对流媒体进行支持。经过挑选,我们选择了一个名为live555的流媒体库,该库是用c++写成的。
c与c++混编的时候除了在源文件内容上要注意的地方,比如命名规则中c++要加上 extern "c" ,防止编译过程中符号名改变。(更多规则见More effective c++中的相关条款)
还需要注意的是关于编译器的选择问题。如果工程中既有c源码又有c++源码,有两种方法:
1. 将gcc换成g++;
2. 在gcc后加上 -lstdc++ 选项。
c与c++混编的时候除了在源文件内容上要注意的地方,比如命名规则中c++要加上 extern "c" ,防止编译过程中符号名改变。(更多规则见More effective c++中的相关条款)
还需要注意的是关于编译器的选择问题。如果工程中既有c源码又有c++源码,有两种方法:
1. 将gcc换成g++;
2. 在gcc后加上 -lstdc++ 选项。
相关文章推荐
- c c++ 函数入口和出口的hook(gcc 编译选项),然后打印出函数调用关系的方法
- c, c++用makefile编译工程
- ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题——gcc编译C++代码
- 在linux环境下编译一个c/c++工程
- c++工程编译选项符号忘记定义导致程序运行不确定问题
- LINUX 下GCC编译C、C++入门
- 【C++】gcc/g++ 链接库的编译与链接
- [置顶] win10下配置VS Code C/C++编译环境(TDM-GCC)
- 编译cocos2d c++工程报错 build-binary.mk:589: obj/local/armeabi/libcocos2dcpp.so] Error 1 cpp自动导入Android.
- 转:gcc编译C++程序
- gcc 编译c++常见错误汇总
- 在linux环境下 编译opencv (C++)工程
- premake在Ubuntu和GCC环境下创建简单的C++工程
- GCC编译C++
- gcc 5.4 编译通用 C++ 线程池实现
- Android 运行 C/C++程序 (使用 arm-linux-gcc 交叉编译环境)
- 关于C++动态链接库工程不能编译出lib的解决办法
- windows下建立gcc/g++/gdb/make编译及调试C/C++的IDE环境
- GCC编译连接c++代码的四个阶段(Four stages of GCC compilation of C++ code)
- linux下利用gcc编译C和C++