Note: build Opencv 3.3.0 with TBB/IPP/Qt 5.8 and Eigen on Windows 10/Win64

modify  the below in CMakeCache.txt

//Build with Qt Backend support

//Include Intel TBB support

//Include Eigen2/Eigen3 support

//The path to Eigen3/Eigen2 headers

//The directory containing a CMake configuration file for Qt5Concurrent.

//The directory containing a CMake configuration file for Qt5Core.

//The directory containing a CMake configuration file for Qt5Gui.

//The directory containing a CMake configuration file for Qt5OpenGL.

//The directory containing a CMake configuration file for Qt5Test.

//The directory containing a CMake configuration file for Qt5Widgets.

//Path to a file.

//Path to a library.

//Path to a library.

//Path to a file.

then run cmake again, use Visual Studio to open Solutions

D:\gits\ExternalLib\opencv-3.3.0>cmake ..\src\opencv-3.3.0
-- Could NOT find PythonInterp (missing:  PYTHON_EXECUTABLE) (Required is at least version "3.4")
-- Could NOT find PythonInterp (missing:  PYTHON_EXECUTABLE) (Required is at least version "3.2")
-- Found TBB: D:/gits/ExternalLib/tbb-2018u1/lib/intel64/vc14/tbb.lib
-- found Intel IPP (ICV version): 2017.0.2 [2017.0.2]
-- at: D:/gits/ExternalLib/opencv-3.3.0/3rdparty/ippicv/ippicv_win
-- found Intel IPP IW binaries: 2017.0.2
-- at: D:/gits/ExternalLib/opencv-3.3.0/3rdparty/ippicv/ippicv_win/../ippiw_win/
-- Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
-- Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
-- A library with BLAS API not found. Please specify library location.
-- LAPACK requires BLAS
-- A library with LAPACK API not found. Please specify library location.
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
-- VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file
-- Excluding from source files list: D:/gits/ExternalLib/opencv-3.3.0/modules/imgproc/accum.neon.cpp
-- Torch importer has been enabled. To run the tests you have to install Torch ('th' executable should be available) and generate testdata using opencv_extra/testdata/dnn/ script.
-- General configuration for OpenCV 3.3.0 =====================================
--   Version control:               868747e
--   Platform:
--     Timestamp:                   2017-10-22T14:41:14Z
--     Host:                        Windows 10.0.15063 AMD64
--     CMake:                       3.6.3
--     CMake generator:             Visual Studio 14 2015 Win64
--     CMake build tool:            C:/Program Files (x86)/MSBuild/14.0/bin/MSBuild.exe
--     MSVC:                        1900
--   CPU/HW features:
--     Baseline:                    SSE SSE2 SSE3
--       requested:                 SSE3
--     Dispatched code generation:  SSE4_1 SSE4_2 FP16 AVX AVX2
--       requested:                 SSE4_1 SSE4_2 AVX FP16 AVX2
--       SSE4_1 (2 files):          + SSSE3 SSE4_1
--       SSE4_2 (1 files):          + SSSE3 SSE4_1 POPCNT SSE4_2
--       FP16 (1 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
--       AVX (5 files):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
--       AVX2 (7 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
--   C/C++:
--     Built as dynamic libs?:      YES
--     C++11:                       YES
--     C++ Compiler:                C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe  (ver 19.0.24215.1)
--     C++ flags (Release):         /DWIN32 /D_WINDOWS /W4 /GR  /EHa  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi      /wd4251 /wd4324 /wd4275 /wd4589 /MP8  /MD /O2 /Ob2 /DNDEBUG  /Zi
--     C++ flags (Debug):           /DWIN32 /D_WINDOWS /W4 /GR  /EHa  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi      /wd4251 /wd4324 /wd4275 /wd4589 /MP8  /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
--     C Compiler:                  C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
--     C flags (Release):           /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi        /MP8  /MD /O2 /Ob2 /DNDEBUG  /Zi
--     C flags (Debug):             /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi        /MP8  /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
--     Linker flags (Release):      /machine:x64  /INCREMENTAL:NO  /debug
--     Linker flags (Debug):        /machine:x64  /debug /INCREMENTAL
--     ccache:                      NO
--     Precompiled headers:         YES
--     Extra dependencies:          comctl32 gdi32 ole32 setupapi ws2_32 Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Test Qt5::Concurrent Qt5::OpenGL vfw32 glu32 opengl32 D:/gits/ExternalLib/tbb-2018u1/lib/intel64/vc14/tbb.lib
--     3rdparty dependencies:
--   OpenCV modules:
--     To be built:                 core flann imgproc ml objdetect photo video dnn imgcodecs shape videoio highgui superres ts features2d calib3d stitching videostab
--     Disabled:                    world
--     Disabled by dependency:      -
--     Unavailable:                 cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java python2 python3 viz
--   Windows RT support:            NO
--   GUI:
--     QT 5.x:                      YES (ver 5.8.0)
--     QT OpenGL support:           YES (Qt5::OpenGL 5.8.0)
--     OpenGL support:              YES (glu32 opengl32)
--     VTK support:                 NO
--   Media I/O:
--     ZLib:                        build (ver 1.2.8)
--     JPEG:                        build (ver 90)
--     WEBP:                        build (ver encoder: 0x020e)
--     PNG:                         build (ver 1.6.24)
--     TIFF:                        build (ver 42 - 4.0.2)
--     JPEG 2000:                   build (ver 1.900.1)
--     OpenEXR:                     build (ver 1.7.1)
--     GDAL:                        NO
--     GDCM:                        NO
--   Video I/O:
--     Video for Windows:           YES
--     DC1394 1.x:                  NO
--     DC1394 2.x:                  NO
--     FFMPEG:                      YES (prebuilt binaries)
--       avcodec:                   YES (ver 57.89.100)
--       avformat:                  YES (ver 57.71.100)
--       avutil:                    YES (ver 55.58.100)
--       swscale:                   YES (ver 4.6.100)
--       avresample:                YES (ver 3.5.0)
--     GStreamer:                   NO
--     OpenNI:                      NO
--     OpenNI PrimeSensor Modules:  NO
--     OpenNI2:                     NO
--     PvAPI:                       NO
--     GigEVisionSDK:               NO
--     DirectShow:                  YES
--     Media Foundation:            NO
--     XIMEA:                       NO
--     Intel PerC:                  NO
--   Parallel framework:            TBB (ver 2018.0 interface 10001)
--   Trace:                         YES (with Intel ITT)
--   Other third-party libraries:
--     Use Intel IPP:               2017.0.2 [2017.0.2]
--                at:               D:/gits/ExternalLib/opencv-3.3.0/3rdparty/ippicv/ippicv_win
--     Use Intel IPP IW:            prebuilt binaries (2017.0.2)
--     Use Intel IPP Async:         NO
--     Use Lapack:                  NO
--     Use Eigen:                   YES (ver 3.3.4)
--     Use Cuda:                    NO
--     Use OpenCL:                  YES
--     Use OpenVX:                  NO
--     Use custom HAL:              NO
--   OpenCL:                        
--     Include path:                D:/gits/ExternalLib/src/opencv-3.3.0/3rdparty/include/opencl/1.2
--     Use AMDFFT:                  NO
--     Use AMDBLAS:                 NO
--   Python 2:
--     Interpreter:                 C:/Python27/python.exe (ver 2.7.14)
--   Python 3:
--     Interpreter:                 NO
--   Python (for build):            C:/Python27/python.exe
--   Java:
--     ant:                         NO
--     JNI:                         NO
--     Java wrappers:               NO
--     Java tests:                  NO
--   Matlab:                        Matlab not found or implicitly disabled
--   Documentation:
--     Doxygen:                     NO
--   Tests and samples:
--     Tests:                       YES
--     Performance tests:           YES
--     C/C++ Examples:              YES
--   Install path:                  D:/gits/ExternalLib/opencv-3.3.0/install
--   cvconfig.h is in:              D:/gits/ExternalLib/opencv-3.3.0
-- -----------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: D:/gits/ExternalLib/opencv-3.3.0



Note: Qt5.8 with EETI Touchcontroller

最近在測試Boot2Qt 看起來EETI 的Touchcontroller 是必須掛 TSLIB 才能用了, 主要就是eGTouchL.ini 可以先用 GetEvent 去驗證一下 Orientation 把這個設對, 然後就可以去執行


用的是 EETI 的USB interface VID:OEEF, PID:0001

其他按照EETI 的官網文件應該是可以的


Note: Porting Boot2Qt to Customer board

因為最近公司沒有特別指定讓我作啥 但是有些來自PM/Sales 的訊息是有Qt5 的需求, 做了一年的Yocto project 終於對Embedded Linux 算是也有大略認識, 然後自己先從NXP/Freescale i.MX6 跟 Intel Apollo lake 的Yocto BSP 玩起, 先把Qt5 在上述廠商提供的YoctoBSP 測試一遍, 掌握了一些要注意的基本事項後 基本上就是Graphics/Input subsystems
在X Windows 上還測過 MatchBox 換成 LXDE 之後應該會試著把LxQt 與 Meta

其他的Graphics backend 像是 Wayland/XWayland/FB 也都基本測一下

然後開始看寫Qt Application 的SDK 確注意到 Qt有個 QT Device creation 的商業版本, 本來看到是商業版本不太想管了, 但是卻看到 網站上的一篇 Building Your Own Embedded Linux Image 發現它是一個OpenEmbedded recipes  而且預先支援的的版子就有我手上同一系列的版本 就好奇研究一下, 基本上跟porting 一個Yocto bsp 到自訂的版子上沒啥差別, 因為基本上Qt5 要有的就是那個Graphics backend 基本上只要有OpenGL ES 2 含以後版本的支援, 應該不是難事

下面是我fork 官網的boot2qt 去加上我公司自己的一塊版本 imx6dltinto 的測試版本, 基本上我只改了kernel/bootloader 指向我放在同一個帳號上的 repositories 其他照舊, kernel/bootloader 用的是NXP/Freescale 最後release 的 4.1.15_v2.0.1 patch

基本上參考Qt網站上的那篇文章 把 boot2qt 從安裝 Device Creation 改成 底下

git clone boot2qt
cd boot2qt
b2qt-init-build-env help


update: 做過一些的展示 on IMX6 and RK3288/RK3399