本文的目的在于记录Ubuntu下C++11开发环境的一些配置,方便下次同样环境下开发时能随时查看。之所以用两个开发工具,是因为本人习惯用QtCreator写代码,要是写些界面之类的demo也方便;但是QtCreator的单步调试实在让人着急,所以一般不带界面的都是用Eclipse来编译和调试。
这里开发一个用FFmpeg获取视频流动态库例子来说明。
一、创建工程。
用QtCreator创建一个动态库工程(此处就不贴图了),“文件”——“新建文件或项目”,在项目栏在“Library”。在中间一栏选择“C++库”,点击choose;接着输入名称以及选择路径,我这里是streamLib;下一步选择带Desktop的Kit;下一步选择需要的模块,一个都不选,有选的都去掉;下一步一直到完成。生成的三个文件中把带***_global.h删除。
在用Eclipse把刚创建的import进来:
然后右键streamLib工程——“New”——“Convert to a C/C++ Project”,选中streamLib,Project type选择“Shared Library”,Toolchains选择“Linux GCC”,点击Finish
最后添加C++11支持,QtCreator在streamLib.pro中添加:
CONFIG +=plugin #不带版本号CONFIG += console c++11
Eclipse中右键streamLib工程——“Properties”——“C/C++ Build”下“Settings”——“Tool Settings”的“GCC C++ Compiler”下的“Miscellaneous”,在“Other flags”栏的后面加上-std=c++11。
另外添加引用路径,ffmpeg就放在streamLib工程下面。
QtCreator在streamLib.pro中添加:
LIBS += -L$$PWD/ffmpeg-3.0.1/lib/
LIBS += -lavcodec\
-lavformat\
-lavutil
INCLUDEPATH += ffmpeg-3.0.1/
这个容易看懂就不解释了。
Eclipse中右键streamLib工程——“Properties”——“C/C++ Build”;首先看看“Environment“的路径:
在选择“Settings”——“Tool Settings”的“GCC C++ Compiler”下的“Directories”,在“Include paths”添加头文件的引用路径:
再在“GCC C++ Linker”下的“Libraries”添加库的引用路径和引用的库:
接着指定“Miscellaneous”——“Linker flags”
至此,如果代码没有问题,两种方式都可以编译通过了。
如果,要把工程放在windows下面,可以直接用vs2013或者以上的创建一个同名工程,将整个文件复制进去,只需要配好环境,把库引用进来就能编译了。
代码链接:http://download.csdn.net/detail/wgxh05/9715468