mingw64下為ffmpeg編譯gnutls小結

2021-08-23 14:35:23 字數 1990 閱讀 1950

筆者採用版本為 gnutls-3.5.19,編譯過程中遇到的2個問題

1)合理使用自帶openssl / libunistring / libtasn1庫函式,減少對外部第三方庫的依賴,選項引數(紅色標註)如下

--enable-local-libopts --enable-openssl-compatibility --with-nettle-mini --with-included-unistring --with-included-libtasn1 --enable-silent-rules --without-p11-kit --without-tpm --without-p11-kit --without-tpm --without-idn --without-libidn2 --disable-tools --disable-gtk-doc --disable-gcc-warnings --disable-non-suiteb-curves --disable-full-test-suite --disable-tests --disable-doc --disable-manpages --disable-gtk-doc-html --with-libiconv-prefix=$(opensdk_path) --with-libz-prefix=$(opensdk_path)

2)gnutls.pc執行遇到的問題

誠如下面report bug所描述,但是在本機上執行的結果 gnutls.pc -lcrypt32並沒有真正生效,檔案中出現了重複乙個-lws2_32。為了先保證編譯通過,仍然可以按照下述方法做相容。真正解決問題,還需gnutls本身。

i'm cross-compiling ffmpeg with gnutls (on windows using cygwin, mingw and gcc) for tls 1.2 support.

without intervention ffmpeg's configure would always fail:

...prefix=@prefix@

exec_prefix=@exec_prefix@

libdir=@libdir@

includedir=@includedir@

name: gnutls

description: transport security layer implementation for the gnu system

url:

version: @version@

libs: -l$ -lgnutls

libs.private: @libintl@ @libsocket@ @libnsl@ @libpthread@ @lib_select@ @tss_libs@ @gmp_libs@ @libunistring@ @libidn2_libs@ -lcrypt32

@gnutls_requires_private@

cflags: -i$

or configure ffmpeg with--extra-libs=-lcrypt32to correct this.

in 'lib/makefile.am' i did notice:

if windows

thirdparty_libadd += -lcrypt32

endif

and in 'lib/.libs/libgnutls.lai' i did notice:

# libraries that this one depends upon.

dependency_libs=' -lws2_32 -l/cygdrive/m/[...]/i686-w64-mingw32/lib -lhogweed -lnettle /cygdrive/m/[...]/i686-w64-mingw32/lib/libgmp.la -lcrypt32'

but as ffmpeg only checks the pkg-config file, i believe 'gnutls.pc.in' is this case is in need of an update.

mingw64環境搭建

mingw64位版,預設編譯出來是64位的,需要編譯32位請使用 m32 引數!mingw是一款gnu工具集合是minimalist gnu on windows的簡稱,乙個可自由使用和自由發布的windows特定標頭檔案和使用gnu工具集導入庫的集合 允許你在gnu linux和windows平台...

C語言入門 mingw64安裝 配置

你也甭管他們是什麼,接下來開啟bin資料夾,就是這個如下 開啟之後是這樣的,如下,你也千萬不要去開啟那些程式,什麼都不要動,然後複製路徑 路徑要到達bin資料夾,比如e mingw64 bin,然後就簡單了,配置環境 首先開啟此電腦 也可能是我的電腦 然後會看到這樣 也有可能不是,但大同小異 點選 ...

mingw64 msys2下使用cmake問題

export path d cmake bin path 然後編輯乙個 toolchain mingw64.cmake檔案 set cmake system name windows set cmake c compiler x86 64 w64 mingw32 gcc set cmake cxx ...