2014-12-03 35 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」。 希望這有助於。