在window平台下編譯ffmpeg

2021-04-13 22:38:05 字數 1981 閱讀 5183

mingw是什麼?

mingw是建立在gcc和binutils專案上的,用來編譯和連線**,使之執行在windows系統上;

提供c、c++和fortran編譯器和相關工具;

mingw=minimalist gnu for windows;

mingw使用微軟的執行庫,生成windows下的**;

因為不使用gnu's general public license,不需要發布程式的時候附加源**。

dev-cpp   是乙個編譯器,生成的工程字尾為   .dev,     源程式檔案為   .cpp

develope   c   plus   plus正解!!!

msys是windows的.dll/.exe等檔案的庫檔案,

庫檔案就是幫你實現了某些功能的庫函式的封裝,你可以在你的程式中呼叫這些函式,然後連線一下就可以了。

區別:

cygwin/gcc和mingw都是gcc在windows下的編譯環境

cygwin/gcc完全可以和在linux下的gcc化做等號,這個可以從boost庫的劃分中可以看出來端倪,cygwin下的gcc和linux下的gcc完全使用的是相同的toolsets。

所以完全可以和linux一起同步更新gcc版本,而不用擔心問題,並且在cygwin/gcc做的東西(不用微軟的)可以無縫的用在linux下,沒有任何問題。是在windows下開發linux程式的乙個很好的選擇。但是在cygwin/gcc下編譯出來的程式,在windows執行必須依賴cygwin1.dll,如果不想依賴這個東西的化,必須在gcc的編譯選項中加入-mno-cygwin。加入這個選項其實gcc編譯器就會自動的選擇在安裝cygwin/gcc時安上的mingw,這個mingw就是gcc的乙個交叉編譯。

對於mingw作為gcc在windows上的乙個實現,由於不像cygwin的gcc在乙個模擬linux上執行,同時相當一部分linux的工具不能夠使用,不過現在已經有msys這個模擬unix的shell,可以解決很多的問題,不過沒有cygwin好用,而cygwin/gcc的no-cygwin選項又依賴於mingw的支援,所以更新的更慢的,現在只是到3.3.3。在mingw下也是可以公升級gcc的,不過需要使用msys。公升級方法和在cygwin和linux下差不多,就不再羅嗦了。不過就我的公升級經驗來看好像都不太順利。具體深入的測試,我也沒有時間做了。

也是可以讓cygwin的最新安裝的gcc支援no-cygwin,需要再做一遍交叉編譯,但是我不會做,只好算了,呵呵,也許那一天我把這個搞定,再開乙個貼吧。

根據以上的分析,如果在windows開發linux程式,cygwin是很好的選擇。如果你開發的程式不介意有乙個cygwin1.dll的話,也是可以選擇cygwin的。如果你是想開發windows下的程式,還要必須用gcc的化,mingw是很好的乙個選擇。但是在windows下有太多的編譯器了,bc,vc,intel c.....。

順便說就題外的化,據說gcc4.0.0效能有很大的提公升,如果我公升級完gcc4後,再編譯一把gcc4是不是以後的編譯效能會提高很多呢?有機會一定要測試一下了,呵呵。

乙個技巧:如何知道當前版本的gcc的安裝配置,用命令:gcc -v就可以了,呵呵。

今天開始編譯ffmpeg這個讓人愛恨交加的東西了。由於vc++並非是乙個標準的c編譯器,所以ffmpeg使用的c99以及at&t彙編語法在vc下無法編譯通過,我曾經從ffmpeg中提取過h263++的編碼器,在不使用mmx優化選項的情況下,對c**進行少許的改動還是能夠編譯通過和正常使用的,但是沒有mmx優化的東西使用起來還是不爽的。

下面就說說用mingw如何編譯ffmpeg 吧。

1、$ cd /d/ffmpeg 進入ffmpeg工程目錄.

2、$ ./configure --enable-shared --enable-memalign-hack --disable-debug --enable-**all

3、$ make

問題2、為啥匯出這麼多函式呢? 可能是我沒仔細看mingw的使用說明吧。有朋友知道mingw如何制定匯出函式麻煩能告訴我一下,謝謝。(**)

Window平台下錄製螢幕

使用screen capture recorder screen capture recorder專案主頁 files ffmpeg f dshow i video screen capture recorder f dshow i audio 麥克風 realtek high definition...

itoa 函式!!!(window平台下)

在這裡新增乙個函式,防止以後忘了。itoa 函式 功能是將乙個數字轉化為乙個字串 函式的標頭檔案 stdlib.h 還有乙個函式和他的功能正好相反,atoi 這個函式功能就是把乙個字串轉化為乙個數字。注意 無論是atoi 還是itoa 這兩個函式都是存在與windows 平台下,這兩個函式不存在移植...

WebKit 在 Windows 平台下編譯小結

webkit 是世界公認的優秀的開源瀏覽器核心。具有渲染速度快,靈活可定製,多平台支援等優點。國內知名的maxthon 和 ucweb 都將webkit選作瀏覽器核心。谷歌公司和蘋果公司也分別在webkit 基礎上只做了chrome 瀏覽器和safari 瀏覽器。雖然webkit 已經越來越多的被廣...