forked from bavc/qctools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
HowToCompile.txt
executable file
·144 lines (136 loc) · 10.6 KB
/
HowToCompile.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Qt
--
You can download directly the binaries or compile yourself.
http://qt-project.org/downloads
My config (Qt 5.5.0):
Mac:
Download and install qt-opensource-mac-x64-clang-5.5.0.dmg or
./configure -release -opensource -confirm-license -static -no-sql-sqlite -no-sql-odbc -no-qml-debug -no-gif -no-nis -no-dbus -no-audio-backend -no-framework -nomake examples
Windows:
Edit qtbase\mkspecs\win32-msvc2013 and replace -MD by -MT in order to have static build of the C++ library
Launch VS Tools Command Prompt
configure -opensource -confirm-license -static -ltcg -no-sql-sqlite -no-sql-odbc -no-qml-debug -no-gif -no-dbus -no-opengl -no-audio-backend -no-freetype -nomake examples -mp
nmake
Qwt
---
Linux:
Launch VS Tools Command Prompt
Add QT bin folder to your PATH e.g. set "PATH=%PATH%;C:\Qt\qtbase\bin"
Edit qwtconfig.pri, comment QwtDll, QwtSvg and QwtOpenGL lines
qmake
nmake
YASM
----
For Ffmpeg speed optimization, you need to install YASM
http://yasm.tortall.net/Download.html
My config (YASM 1.3.0):
Windows: I put the binary from website in /FFmpeg_for_QCTools directory, rename it to yasm.exe, FFmpeg automaticly detects it
Cmake
-----
For OpenJPEG compilation, install Cmake
My config (Cmake 3.0.0):
Download and install Cmake
OpenJPEG
--------
Download OpenJPEG 1.x (2.x is not supported by Ffmpeg)
My config (openjpeg 1.5.2):
Windows:
Launch VS Tools Command Prompt
cmake Visual Studio 12 .
Edit libopenjpeg/openjpeg.vcxproj and replace MultiThreadedDLL by MultiThreaded in order to have static build of the C++ library
Launch the sln, build release
Linux (static build):
cmake -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=usr .
make
make install
Mac:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=usr .
make
make install
MSYS
----
Windows:
Install MSYS
FFmpeg
------
My config:
Windows:
Look at http://ffmpeg.org/platform.html#Windows
Launch VS Tools Command Prompt
msys.bat
cd ffmpeg
./configure --enable-gpl --enable-version3 --enable-shared --disable-securetransport --disable-videotoolbox --disable-swscale-alpha --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --disable-debug --toolchain=msvc
make
Copy *.lib in Project\MSVC2013\GUI\Lib
Mac:
./configure --enable-gpl --enable-version3 --enable-shared --disable-swscale-alpha --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --disable-debug --enable-libopenjpeg --disable-decoder=jpeg2000 --yasmexe=../yasm/yasm --extra-cflags="-I../openjpeg/usr/include" --extra-ldflags="-L../openjpeg/usr/lib -mmacosx-version-min=10.5"
make
Linux (static build):
./configure --enable-gpl --enable-version3 --disable-shared --enable-static --disable-swscale-alpha --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --disable-debug --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags="-I../openjpeg/usr/include" --extra-ldflags="-L../openjpeg/usr/lib"
make
Blackmagic DeckLink SDK
-----------------------
Download SDK from http://update.blackmagicdesign.com/support/detail/register?sid=3945&fid=0&did=60930&alt=true&sdk=true
QCTools:
Windows:
Project\MSVC2013\GUI\qt_update
Mac:
cd Project/Qt/QtCreator && qmake && make
cp ../../../ffmpeg/libavcodec/libavcodec.*.dylib QCTools.app/Contents/Resources/
cp ../../../ffmpeg/libavdevice/libavdevice.*.dylib QCTools.app/Contents/Resources/
cp ../../../ffmpeg/libavfilter/libavfilter.*.dylib QCTools.app/Contents/Resources/
cp ../../../ffmpeg/libavformat/libavformat.*.dylib QCTools.app/Contents/Resources/
cp ../../../ffmpeg/libavutil/libavutil.*.dylib QCTools.app/Contents/Resources/
cp ../../../ffmpeg/libpostproc/libpostproc.*.dylib QCTools.app/Contents/Resources/
cp ../../../ffmpeg/libswresample/libswresample.*.dylib QCTools.app/Contents/Resources/
cp ../../../ffmpeg/libswscale/libswscale.*.dylib QCTools.app/Contents/Resources/
cp ../../../openjpeg/bin/libopenjpeg.5.dylib QCTools.app/Contents/Resources/
install_name_tool -id @executable_path/../Resources/libavcodec.55.dylib QCTools.app/Contents/Resources/libavcodec.55.dylib
install_name_tool -change /usr/local/lib/libavutil.52.dylib @executable_path/../Resources/libavutil.52.dylib QCTools.app/Contents/Resources/libavcodec.55.dylib
install_name_tool -change /usr/local/lib/libswresample.0.dylib @executable_path/../Resources/libswresample.0.dylib QCTools.app/Contents/Resources/libavcodec.55.dylib
install_name_tool -change libopenjpeg.5.dylib @executable_path/../Resources/libopenjpeg.5.dylib QCTools.app/Contents/Resources/libavcodec.55.dylib
install_name_tool -id @executable_path/../Resources/libavdevice.55.dylib QCTools.app/Contents/Resources/libavdevice.55.dylib
install_name_tool -change /usr/local/lib/libavcodec.55.dylib @executable_path/../Resources/libavcodec.55.dylib QCTools.app/Contents/Resources/libavdevice.55.dylib
install_name_tool -change /usr/local/lib/libavfilter.4.dylib @executable_path/../Resources/libavfilter.4.dylib QCTools.app/Contents/Resources/libavdevice.55.dylib
install_name_tool -change /usr/local/lib/libavformat.55.dylib @executable_path/../Resources/libavformat.55.dylib QCTools.app/Contents/Resources/libavdevice.55.dylib
install_name_tool -change /usr/local/lib/libavutil.52.dylib @executable_path/../Resources/libavutil.52.dylib QCTools.app/Contents/Resources/libavdevice.55.dylib
install_name_tool -change /usr/local/lib/libpostproc.52.dylib @executable_path/../Resources/libpostproc.52.dylib QCTools.app/Contents/Resources/libavdevice.55.dylib
install_name_tool -change /usr/local/lib/libswresample.0.dylib @executable_path/../Resources/libswresample.0.dylib QCTools.app/Contents/Resources/libavdevice.55.dylib
install_name_tool -change /usr/local/lib/libswscale.2.dylib @executable_path/../Resources/libswscale.2.dylib QCTools.app/Contents/Resources/libavdevice.55.dylib
install_name_tool -change libopenjpeg.5.dylib @executable_path/../Resources/libopenjpeg.5.dylib QCTools.app/Contents/Resources/libavdevice.55.dylib
install_name_tool -id @executable_path/../Resources/libavfilter.4.dylib QCTools.app/Contents/Resources/libavfilter.4.dylib
install_name_tool -change /usr/local/lib/libavcodec.55.dylib @executable_path/../Resources/libavcodec.55.dylib QCTools.app/Contents/Resources/libavfilter.4.dylib
install_name_tool -change /usr/local/lib/libavformat.55.dylib @executable_path/../Resources/libavformat.55.dylib QCTools.app/Contents/Resources/libavfilter.4.dylib
install_name_tool -change /usr/local/lib/libavutil.52.dylib @executable_path/../Resources/libavutil.52.dylib QCTools.app/Contents/Resources/libavfilter.4.dylib
install_name_tool -change /usr/local/lib/libpostproc.52.dylib @executable_path/../Resources/libpostproc.52.dylib QCTools.app/Contents/Resources/libavfilter.4.dylib
install_name_tool -change /usr/local/lib/libswresample.0.dylib @executable_path/../Resources/libswresample.0.dylib QCTools.app/Contents/Resources/libavfilter.4.dylib
install_name_tool -change /usr/local/lib/libswscale.2.dylib @executable_path/../Resources/libswscale.2.dylib QCTools.app/Contents/Resources/libavfilter.4.dylib
install_name_tool -change libopenjpeg.5.dylib @executable_path/../Resources/libopenjpeg.5.dylib QCTools.app/Contents/Resources/libavfilter.4.dylib
install_name_tool -id @executable_path/../Resources/libavformat.55.dylib QCTools.app/Contents/Resources/libavformat.55.dylib
install_name_tool -change /usr/local/lib/libavcodec.55.dylib @executable_path/../Resources/libavcodec.55.dylib QCTools.app/Contents/Resources/libavformat.55.dylib
install_name_tool -change /usr/local/lib/libavutil.52.dylib @executable_path/../Resources/libavutil.52.dylib QCTools.app/Contents/Resources/libavformat.55.dylib
install_name_tool -change /usr/local/lib/libswresample.0.dylib @executable_path/../Resources/libswresample.0.dylib QCTools.app/Contents/Resources/libavformat.55.dylib
install_name_tool -change libopenjpeg.5.dylib @executable_path/../Resources/libopenjpeg.5.dylib QCTools.app/Contents/Resources/libavformat.55.dylib
install_name_tool -id @executable_path/../Resources/libavutil.52.dylib QCTools.app/Contents/Resources/libavutil.52.dylib
install_name_tool -change libopenjpeg.5.dylib @executable_path/../Resources/libopenjpeg.5.dylib QCTools.app/Contents/Resources/libavutil.52.dylib
install_name_tool -id @executable_path/../Resources/libpostproc.52.dylib QCTools.app/Contents/Resources/libpostproc.52.dylib
install_name_tool -change libopenjpeg.5.dylib @executable_path/../Resources/libopenjpeg.5.dylib QCTools.app/Contents/Resources/libpostproc.52.dylib
install_name_tool -change /usr/local/lib/libavutil.52.dylib @executable_path/../Resources/libavutil.52.dylib QCTools.app/Contents/Resources/libpostproc.52.dylib
install_name_tool -id @executable_path/../Resources/libswresample.0.dylib QCTools.app/Contents/Resources/libswresample.0.dylib
install_name_tool -change /usr/local/lib/libavutil.52.dylib @executable_path/../Resources/libavutil.52.dylib QCTools.app/Contents/Resources/libswresample.0.dylib
install_name_tool -change libopenjpeg.5.dylib @executable_path/../Resources/libopenjpeg.5.dylib QCTools.app/Contents/Resources/libswresample.0.dylib
install_name_tool -id @executable_path/../Resources/libswscale.2.dylib QCTools.app/Contents/Resources/libswscale.2.dylib
install_name_tool -change /usr/local/lib/libavutil.52.dylib @executable_path/../Resources/libavutil.52.dylib QCTools.app/Contents/Resources/libswscale.2.dylib
install_name_tool -change libopenjpeg.5.dylib @executable_path/../Resources/libopenjpeg.5.dylib QCTools.app/Contents/Resources/libswscale.2.dylib
install_name_tool -change /usr/local/lib/libavcodec.55.dylib @executable_path/../Resources/libavcodec.55.dylib QCTools.app/Contents/MacOS/QCTools
install_name_tool -change /usr/local/lib/libavdevice.55.dylib @executable_path/../Resources/libavdevice.55.dylib QCTools.app/Contents/MacOS/QCTools
install_name_tool -change /usr/local/lib/libavfilter.4.dylib @executable_path/../Resources/libavfilter.4.dylib QCTools.app/Contents/MacOS/QCTools
install_name_tool -change /usr/local/lib/libavformat.55.dylib @executable_path/../Resources/libavformat.55.dylib QCTools.app/Contents/MacOS/QCTools
install_name_tool -change /usr/local/lib/libavutil.52.dylib @executable_path/../Resources/libavutil.52.dylib QCTools.app/Contents/MacOS/QCTools
install_name_tool -change /usr/local/lib/libpostproc.52.dylib @executable_path/../Resources/libpostproc.52.dylib QCTools.app/Contents/MacOS/QCTools
install_name_tool -change /usr/local/lib/libswresample.0.dylib @executable_path/../Resources/libswresample.0.dylib QCTools.app/Contents/MacOS/QCTools
install_name_tool -change /usr/local/lib/libswscale.2.dylib @executable_path/../Resources/libswscale.2.dylib QCTools.app/Contents/MacOS/QCTools
install_name_tool -change libopenjpeg.5.dylib @executable_path/../Resources/libopenjpeg.5.dylib QCTools.app/Contents/MacOS/QCTools
Linux:
cd Project/Qt/QtCreator && qmake && make
(todo)