2014-12-03 36 views
0

我是BigCompany的新成员,并且已经给出了一个在Linux下建立它的子系统&,因为我足够愚蠢地建议进行单元测试(从来没有一个单元测试&所有的构建目前都针对ARM处理器)。Eclipse CST,如何使用Gstreamer构建?

一些没有人知道的代码使用GStreamer。它有一个像

#include "gst/gst.h" 
#include "gst/gsttaglist.h" 

这给GCC错误

fatal error: gst/gst.h: No such file or directory 

我grepped,发现它在

/opt/tooling/imx6-staging/DI_BINARY_REPOSITORY_IMX6_LINUX_14.0F46/usr/声明include/gstreamer-0.10/gst/gst.h

所以我去了project Properties/Ç& C++一般/路径和符号,并加入

/opt/tooling/imx6-staging/DI_BINARY_REPOSITORY_IMX6_LINUX_14.0F46/usr/include/gstreamer-0.10

到的路径。错误持续存在。

我也尝试添加gstreamer-0.10到图书馆,但无济于事。

我该如何在Eclipse CDT中编译它?

回答

1

你做的是正确的事情,Scooter描述的是正确的。不过,我想补充一点,根据我的经验,追踪所有GStreamer和GLib路径是一件痛苦的事情,而且我总是觉得Eclipse不喜欢手动添加它们。

对于我们的Eclipse/GStreamer项目,我们发现最有用的构建工具是CMake。这是一个Makefile make工具,它也提供了Eclipse项目文件生成。因此,在一个文件的CMakeLists.txt我们希望有这样的事情:

cmake_minimum_required(VERSION 2.8) 

project(myproj) 

include(FindPkgConfig) 

pkg_check_modules(GST REQUIRED gstreamer-app-1.0) 
pkg_check_modules(LIBLOG4CXX REQUIRED liblog4cxx) 

include_directories(${GST_INCLUDE_DIRS} ${LIBLOG4CXX_INCLUDE_DIRS}) 
link_directories(${GST_LIBRARY_DIRS} ${LIBLOG4CXX_LIBRARY_DIRS}) 

add_executable(myproj myproj.cpp) 

target_link_libraries(myproj ${GST_LIBRARIES} ${LIBLOG4CXX_LIBRARIES}) 

然后在命令行中,我点的环境,我使用和运行cmake任何pkg配置路径。

export PKG_CONFIG_PATH=/opt/whatever/pkgconfig 
cmake --clean-first . -G "Eclipse CDT4 - Unix Makefiles" 

现在在Eclipse中打开项目。你可能需要索引 - >重建,但在此之后它在我的经验中效果很好。

的这另一个好处是,如果你在你没有创建一个从手Eclipse项目文件每个项目成员,或尝试在整个用户共享计算机特定的项目文件的团队项目。

1

有添加包括路径和包含文件到项目中的选项:

项目 - >属性 - > C/C++编译 - >设置 - >工具设置选项卡 - >包括 - >包含文件/路径 - >添加...(通过图标)

+0

是的,我试过了 - 虽然我是通过不同的途径到达那里的。它没有帮助。在找到解决方案之前,我已经将整个gst源码导入到了我的项目中,但我显然不想这么做。 – Mawg 2014-12-04 07:44:17

+0

@Mawg你试过Project-> C/C++索引 - > [重新解决未解决的包含,搜索未解决的包含] – Scooter 2014-12-04 07:52:36

+0

也值得尝试索引 - >重建。 – mpr 2014-12-05 18:56:25

0

添加.h文件后,转到项目 - >属性 - > C/C++建设 - >设置 - >十字GCC连接器 - >库。按添加按钮并输入您的库名称:“gstreamer-0.10”。 希望这有助于。