1. 程式人生 > >windows 上vs2017配置gstreamer的開發環境

windows 上vs2017配置gstreamer的開發環境

拖了好久,結果發現是有一個檔案位置不對。T-T

1、下載runtime和SDK包

也可以下載最新版 https://gstreamer.freedesktop.org -----------> download----->windows----->

然後下載

2、安裝gstreamer

先執行gstreamer-1.0-x86-1.14.3.msi ,一直點下一步,其中有一步讓選customer還是其他的,選最後一個(所有都安裝)

預設是安裝到了C盤。

這時候,成功的關鍵來了,把glibconfig.h檔案拷貝到include/glib-2.0以及include/glib-2.0/glib目錄下。

|-- lib
|   |-- glib-2.0
|   |   `-- include
|   |       `-- glibconfig.h 此檔案拷貝到

|-- include
|     --glib-2.0 此目錄下
|   `    -- glib 以及此目錄下

3、配置vs專案

(1)解決方案資源管理器裡選擇專案名,右鍵,屬性。

在c/c++ -------常規--------附加包含目錄  增加如下目錄

C:\gstreamer\1.0\x86\include\gstreamer-1.0
C:\gstreamer\1.0\x86\include\glib-2.0
C:\gstreamer\1.0\x86\include\libxml2
C:\gstreamer\1.0\x86\include

(2)聯結器----常規----附加庫目錄,增加 如下目錄

   C:\gstreamer\1.0\x86\lib

(3)聯結器----輸入-----附加依賴性  增加

gobject-2.0.lib;glib-2.0.lib;gstreamer-1.0.lib

4、測試一下,輸入以下程式碼,執行不報錯就成功了

// GstreamerHelloWorld.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。
//

#include "pch.h"
#include <iostream>

#include <gst/gst.h>
#include <glib.h>

int
main(int   argc, char *argv[]) {
	GstElement *pipeline;
	GstElement *source, *filter, *sink;

	//init
	gst_init(&argc, &argv);

	//creat pipeline
	pipeline = gst_pipeline_new("my-pipline");

	//create elements
	source = gst_element_factory_make("fakesrc", "source");
	filter = gst_element_factory_make("identity", "filter");
	sink = gst_element_factory_make("fakesink", "sink");

	//將元組新增到管道中
	gst_bin_add_many(GST_BIN(pipeline), source, filter, sink, NULL);

	//連線
	if (!gst_element_link_many(source, filter, sink, NULL)) {
		g_warning("failed to link elements\n");
	}
	/*在連結不同的元件之前,你需要確保這些元件都被加在同一個箱櫃中,
	因為將一個元件載入到一個箱櫃中會破壞該元件已存在的一些連結關係。
	同時,你不能直接連結不在同一箱櫃或管道中的元件。*/
	return 0;
}