forked from bavc/qctools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHowToCompile.txt
executable file
·122 lines (116 loc) · 10.3 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
Qt
--
You can download directly the binaries or compile yourself.
http://qt-project.org/downloads
My config (Qt 5.3.1):
Mac:
Download and install qt-opensource-mac-x64-clang-5.3.1.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-msvc* and replace -MD by -MT in order to have static build of the C library then
configure -opensource -confirm-license -static -ltcg -no-sql-sqlite -no-sql-odbc -no-qml-debug -no-gif -no-dbus -no-opengl -no-audio-backend -nomake examples -mp
Qwt
---
Linux:
Edit qwtconfig.pri, comment QwtDll and QwtSvg lines
qmake
YASM
----
For Ffmpeg speed optimization, you need to install YASM
http://yasm.tortall.net/Download.html
My config (YASM 1.2.0):
Windows: I put the binary from website in /FFmpeg_for_QCTools directory, 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:
cmake .
Launch the sln, replace -MD by -MT in order to have static build of the C library then build
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
FFmpeg
------
My config:
Windows:
Look at http://ffmpeg.org/platform.html#Windows
./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 --extra-cflags="-I../openjpeg/libopenjpeg" --extra-ldflags="-LIBPATH:../openjpeg/bin/Release" --toolchain=msvc
Note: not working with openjpeg for the moment, using
./configure --enable-gpl --enable-version3 --enable-shared --disable-swscale-alpha --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --disable-debug --toolchain=msvc
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"
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"
QCTools:
Windows:
(todo)
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
Linux:
cd Project/Qt/QtCreator && qmake && make
(todo)