2016-12-28 82 views
1

真正的答案可能是「不」,但仍然只是爲了仔細檢查。 有沒有人能夠在Windows(VS2013或VS2015)上構建ffmpeg x64?我知道,如果沒有大量修改,公開可用的資源是不可能的。然而,如果有人這樣做,並且他願意分享一些技巧...是否可以在Windows上構建ffmpeg x64?

編輯: 有趣的是,運行「配置」所需的大多數x64工具是如何在沒有依賴關係的情況下分發的,而且這是不可能的讓他們在任何地方。看起來像一個專業的拖釣。

EDIT2: 有數以千計的錯誤是這樣的:

fatal error C1083: Cannot open include file: 'features.h': No such file or directory 

features.h缺少許多其他的頭文件。有沒有解決這個問題,或者切換到Linux是唯一的選擇?

+0

需要VS嗎?我使用這個腳本在Windows上編譯ffmpeg:https://github.com/jb-alvarado/media-autobuild_suite – Mulvya

+0

它是,它不是。我的意思是,我將不得不調試它,所以VS會很好,因爲如果我用MinGW構建它,那麼我將不得不使用Eclipse進行調試(這很糟糕),因爲VS不適用於矮人格式。 – moose

回答

0

不,不能這樣做。 MS編譯器不支持#include_next。另外,還有很多其他問題......你需要MinGW。

1

使用x64假設你指的是標準的64位版本,是有可能。有關FFmpeg的所有測試版本,請參閱fate頁面,該列表中包含各種32位和64位版本的Visual Studio,其中包括VS2013和VS2015 64位。搜索 「微軟(R)C/C++優化編譯器版本18.00.40629針對x64」(或 「19.00.24215.1」)或 「VS2013」​​/ 「VS2015」,所有在底部的方式。有關確切的版本選項,請參見此處的2013或此處的2015。最重要的部分是在你的$PATH打開與64位的命令行編譯工具Windows外殼程序,並從那裏打開MSYS殼,然後使用--arch=x86_64 --target-os=win64 --toolchain=msvc選項運行configure。有關更多詳細信息,請參閱MSVC編譯wiki頁面。

+0

這到底會如何幫助我?我知道傳說說這是可能的,但是這個URL只報告構建結果。有一件事讓我認爲它是假的是x64的配置日誌。它說:ARCH x86(通用) – moose

+0

順便說一下,該wiki頁面是完全錯誤的。 – moose

+0

僅使用arch,target-os和toolchain運行configure甚至不夠接近。您需要提供編譯器開關和預處理器指令。也有一些Linux只能得到編譯的資源,因爲它們沒有針對各種平臺的預處理器指令。另外,pkg-config丟失等等。最重要的部分丟失了。 – moose

0

有一個如何,對FFmpeg的頁面itself.It並沒有爲我工作,到目前爲止,但至少你應該擺脫C99誤差等。

https://trac.ffmpeg.org/wiki/CompilationGuide/MSVC

也許你嘗試安裝這個東西(我不得不seperatly下載pkg配置與Msys2,它的工作),並按照這些步驟。

+0

你說到目前爲止它不適合你。如果我遵循相同的程序,爲什麼你認爲這對我有用? – moose

+0

這是一個環境問題,至少從我猜測開始。所以,也許你比我聰明,並找出它;) 你試圖建立它有多遠? – Earinor

+0

不記得所有的細節。那是去年的十二月。它從解決當時的一個問題開始,但是每一個解決的問題都會帶來一些新的問題,所以它會變成無盡的補丁。用MinGW來構建它可能會更好。它仍然需要一些修復,但至少在合理的時間內有可能贏得戰鬥。壞的一面是你無法通過VS調試它。 VS無法使用DWARF格式。 – moose

0

我用來編譯Linux機器使用MinGW對ffmpeg的,但現在我能到Windows 10

注意編譯Windows機器上,在我的情況: 對於我來說只是工作的ffmpeg的版本> = 3.0和我使用VS 2013和2015年

僅有幾步之遙,但很重要的測試:

下載並安裝(除YASM):

  • 的Visual Studio 2013或2015
  • MSYS2

步驟:

  1. 安裝MSYS2到固定夾(例如。:C:\開發\ msys64)
  2. 運行msys2.exe
  3. 執行命令 「吃豆子-S讓GCC diffutils的」,按 「Y」 安裝
  4. 關閉msys2
  5. 重命名C:\開發\ msys64 \ usr \ bin \ link.exe改名爲「msys2_link.exe」
  6. 將「 C:\ Dev「環境變量PATH
  7. 運行VS2013/2015 x86(用於x86)或x64用於(x64)命令提示符
  8. 執行「C:\開發\ msys64 \ msys2_shell.cmd -msys次使用的全路徑」
  9. 在msys2窗口中執行「這CL」,你會看到你的VS的路徑
  10. 執行「的鏈接「你也應該看到你的VS
  11. 圍棋的路徑ffmpeg的源路徑(例如: 」CD /c/ffmpeg3.3「)
  12. 運行./configure和make

我使用這種配置:

./configure \ 
    --toolchain=msvc \ 
    --arch=x86_64 \ 
    --enable-yasm \ 
    --enable-asm\ 
    --enable-shared \ 
    --enable-w32threads \ 
    --disable-programs \ 
    --disable-ffserver \ 
    --disable-doc \ 
    --disable-static \ 
    --prefix=/c/ffmpeg3.3/DLLS 

NOTE2: 如果您使用的最後一行前綴=/C/ffmpeg3.3/DLLS,作爲最後一步,運行make安裝和二進制文件將被複制到該路徑

希望它有幫助。

祝你好運

相關問題