iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
Software Development

莫名其妙就跟世界等級的 OpenSource 專案攪和了!?系列 第 25

EP 25 - 透過 Docker 環境自建 GStreamer-Sharp 的 DLL

  • 分享至 

  • xImage
  •  

Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~

在本系列文因為工作上的產品應用需求,進而探索到很多層面的點滴事。

透過每篇 EP 的分享把這些點滴整理,看起來或許像是個獨立的小品抒發文、也或許是一系列技術研究文!?

總之,就當作的隨手雜記文吧!

本篇是 莫名其妙就跟世界等級的 OpenSource 專案攪和了!? 系列文的 EP25。


本回來使用一下 Docker Engine 來完成建置 "gstreamer-sharp.dll", "gio-sharp.dll", "glib-sharp.dll" 的作業。

由於在 Docker Engine 中所用的操作指令,也都可以獨立在 WSL 底下所建立的獨立 Ubuntu 環境中透過輸入指令完成。

Microsoft Store - Ubuntu
(請自己挑一個裝,但還是建議比較通用的版本 Ubuntu 22.04.5 LTS)

如果只做一次就好,在整個工作流程上不會有重複的重新產生上述相關 *.dll 的需要時,使用 Docker Engine 來處理就又會顯得很多餘就是。


如果安裝好 Docker Engine 之後,透過命令提示字元當中的指令:

docker --version

應該可以看到如下回應:
Docker Engine: docker-version

接著切換到所準備好的 dockerfile 所在的路徑後,執行指令:

docker build -t gstreamer-sharp-builder -f build-gstreamer-sharp.dockerfile .

Docker Engine: docker build

應該可以看到如下 docker build 的回應:

Docker Engine: docker build-1

Docker Engine: docker build-2

Docker Engine: docker build-3
(不得不說每次看 dockerfile 有正確在執行的時候都會有莫名的成就感)

執行完成後,看到顯示的:

View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/py4v669s0ktvnpzptt3ojj9ae

代表可以到 Docker Desktop 當中看 Build History:
Docker Desktop: build history

但這是建立在 Docker Engine 是透過 Docker Desktop 安裝來的前提之上(且是直接安裝的 Windows 環境中,非 WSL)。

再透過 docker 的指令,把已經 build 好的 *.dll 們給抓出來到 Windows 環境中已知的路徑資料夾當中:

docker run --rm -it -v C:\Tmp\ForDocker\Gstreamr-DLLs:/output gstreamer-sharp-builder

(此處 Windows 的已知路徑資料夾為 "C:\Tmp\ForDocker\Gstreamer-DLLs")

Docker Engine: docker run-1

看到上述的指令執行後的回應為:

'/app/artifacts/./gstreamer-sharp.dll' -> '/output/./gstreamer-sharp.dll'
'/app/artifacts/./gio-sharp.dll' -> '/output/./gio-sharp.dll'
'/app/artifacts/./glib-sharp.dll' -> '/output/./glib-sharp.dll'

Docker Engine: docker run-2

成功抓取完成:
Gstreamer-Sharp-DLLs


上一篇
EP 24 - 要 MSVC 但卻想去跑 MingGW
下一篇
EP 26 - 使用自建的 GStreamer-Sharp 的 DLL
系列文
莫名其妙就跟世界等級的 OpenSource 專案攪和了!?30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言