筆者採用版本為 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 ...