-
-
Notifications
You must be signed in to change notification settings - Fork 17
For Windows
Tool | Minimal version | Recommended version | Testing |
---|---|---|---|
Microsoft Visual Studio | 2013 (v12) | 2017 (v15), 2019 (v16) | - |
Library | Installation/Compilation |
---|---|
Boost | BOOST_ROOT environment variable must point to Boost path. Some libraries must be compiled, see Cmake report |
Poco | POCO_ROOT environment variable must point to Boost path. |
Protobuf | PROTOBUF_ROOT environment variable must point to Protobuf path. |
OpenSSL | OPENSSL_ROOT environment variable must point to OpenSSL path. |
Refer to the How to build from sources page to get official versions of dependencies.
Go to boost.org, download boost and extract it.
bootstrap.bat
b2.exe --with-atomic --with-chrono --with-date_time --with-filesystem --with-regex --with-thread --with-system --with-locale --with-test link=static runtime-link=static
Output libraries should be found in stage folder.
Then, our cmake needs to know the BOOST_ROOT folder. There are two ways to do it:
- Either : create the BOOST_ROOT environment variable
- Or : edit/add the file "sources/CMakeListsUserConfig.txt" by adding such a line : set(BOOST_ROOT "D:/dev/boost_x_yy_z")
OpenSSL must be installed before Poco.
**warning only OpenSSL v1.x.y (32 bits) are supported (tested with 1.0.2s and 1.1.1d) **
-
Install OpenSSL (full version) available here : https://slproweb.com/products/Win32OpenSSL.html .
-
Build Poco (see below).
-
Tell Yadoms where to find OpenSSL setting install folder into the Yadoms file "sources/CMakeListsUserConfig.txt", by adding such a line :
set(OPENSSL_ROOT "C:/OpenSSL")
-
Go to http://pocoproject.org/ , download the complete edition and extract it.
-
For Visual Studio 2019 or Visual Studio 2017 and Windows 10, open a developer command prompt
-
Go to the extracted folder, and build Poco solution files (dont forget to indicate Openssl path):
- Poco < 1.10.xx
cmake -DOPENSSL_ROOT_DIR="<path_to_>/OpenSSL-Win32" -DENABLE_SEVENZIP=OFF -DENABLE_MONGODB=OFF -DENABLE_REDIS=OFF -DENABLE_DATA=OFF -DENABLE_DATA_SQLITE=OFF -DENABLE_DATA_MYSQL=OFF -DENABLE_DATA_ODBC=OFF -DENABLE_PAGECOMPILER=OFF -DENABLE_PAGECOMPILER_FILE2PAGE=OFF -DPOCO_STATIC=ON -DPOCO_MT=ON -DENABLE_MSVC_MP=ON -DFORCE_OPENSSL=ON -A Win32 .
- Poco >= 1.10.xx
cmake . -DOPENSSL_ROOT_DIR="<path_to_>/OpenSSL-Win32" -DENABLE_SEVENZIP=OFF -DENABLE_MONGODB=OFF -DENABLE_REDIS=OFF -DENABLE_DATA=OFF -DENABLE_DATA_SQLITE=OFF -DENABLE_DATA_MYSQL=OFF -DENABLE_DATA_ODBC=OFF -DENABLE_PAGECOMPILER=OFF -DENABLE_PAGECOMPILER_FILE2PAGE=OFF -DENABLE_JWT=OFF -DBUILD_SHARED_LIBS=OFF -DPOCO_MT=ON -DFORCE_OPENSSL=ON -A Win32
- Build Debug and Release libraries
cmake --build .
cmake --build . --config Release
- Tell Yadoms where to find Poco install folder into the Yadoms file "sources/CMakeListsUserConfig.txt", by adding such a line :
set(POCO_ROOT "D:/dev/poco-1.9.0-all")
Download ProtoBufCpp sources here : https://github.com/google/protobuf/releases
Unzip it and build :
md vsprojects
cd vsprojects
cmake ..\cmake -Dprotobuf_BUILD_TESTS=OFF -A Win32
cmake --build .
cmake --build . --config Release
Tell Yadoms where to find Protobuf install folder into the Yadoms file "sources/CMakeListsUserConfig.txt", by adding such a line :
set(PROTOBUF_ROOT "D:/dev/protobuf-3.7.1")
-
Download the latest 2.7.x version of python 32bits only (2.7.15 at the document redaction) https://www.python.org/downloads/
-
Install python
-
Tell Yadoms where to find python setting install folder into the Yadoms file "sources/CMakeListsUserConfig.txt", by adding such a line :
set(PYTHON_ROOT "C:\Python27\")
-
Download the last version of swig (3.0.5 at the document redaction)
-
Extract the package into a directory
-
Tell Yadoms where to find Swig setting install folder into the Yadoms file "sources/CMakeListsUserConfig.txt", by adding such a line :
set(SWIG_ROOT "D:/dev/swigwin/")
-
Download the latest sources from here
-
Generate the solution using cmake
cd opencv-<version>
mkdir build
cd build
cmake.exe -DWITH_EIGEN:BOOL="0" -DWITH_IMGCODEC_HDR:BOOL="0" -DBUILD_opencv_ts:BOOL="0" -DBUILD_opencv_video:BOOL="0" -DWITH_TIFF:BOOL="0" -DBUILD_PACKAGE:BOOL="0" -DBUILD_opencv_features2d:BOOL="0" -DBUILD_ITT:BOOL="0" -Dthunder:BOOL="0" -Dlzw:BOOL="0" -DCV_TRACE:BOOL="0" -DWITH_MSMF:BOOL="0" -DWITH_FFMPEG:BOOL="0" -DWITH_IMGCODEC_PXM:BOOL="0" -DWITH_MSMF_DXVA:BOOL="0" -DCPACK_SOURCE_ZIP:BOOL="0" -Dpackbits:BOOL="0" -DBUILD_opencv_apps:BOOL="0" -DBUILD_PROTOBUF:BOOL="0" -DBUILD_opencv_objdetect:BOOL="0" -DBUILD_IPP_IW:BOOL="0" -DBUILD_opencv_videoio:BOOL="0" -DBUILD_PERF_TESTS:BOOL="0" -Dmdi:BOOL="0" -DWITH_1394:BOOL="0" -DINSTALL_PDB:BOOL="0" -DWITH_OPENCL:BOOL="0" -DM_LIBRARY:FILEPATH="M_LIBRARY-NOTFOUND" -DUSE_WIN32_FILEIO:BOOL="1" -DCPACK_SOURCE_7Z:BOOL="0" -DBUILD_opencv_stitching:BOOL="0" -Dccitt:BOOL="0" -DVIDEOIO_ENABLE_STRICT_PLUGIN_CHECK:BOOL="0" -DWITH_IPP:BOOL="0" -DBUILD_opencv_dnn:BOOL="0" -DWITH_ITT:BOOL="0" -DCPACK_BINARY_NSIS:BOOL="0" -DBUILD_opencv_photo:BOOL="0" -DBUILD_opencv_calib3d:BOOL="0" -DWITH_QUIRC:BOOL="0" -DWITH_WEBP:BOOL="0" -DBUILD_opencv_python_bindings_generator:BOOL="0" -DWITH_PROTOBUF:BOOL="0" -DBUILD_JASPER:BOOL="1" -DWITH_OPENCLAMDBLAS:BOOL="0" -DBUILD_JAVA:BOOL="0" -DWITH_VTK:BOOL="0" -DBUILD_opencv_java_bindings_generator:BOOL="0" -DBUILD_opencv_highgui:BOOL="0" -DWITH_ARITH_DEC:BOOL="0" -DWITH_IMGCODEC_SUNRASTER:BOOL="0" -DWITH_ADE:BOOL="0" -DBUILD_OPENEXR:BOOL="0" -DWITH_OPENEXR:BOOL="0" -DWITH_OPENCLAMDFFT:BOOL="0" -DVIDEOIO_ENABLE_PLUGINS:BOOL="0" -DWITH_DSHOW:BOOL="0" -DOPENCV_DNN_OPENCL:BOOL="0" -DWITH_LAPACK:BOOL="0" -DWITH_IMGCODEC_PFM:BOOL="0" -Dlogluv:BOOL="0" -DINSTALL_PDB_COMPONENT_EXCLUDE_FROM_ALL:BOOL="0" -DBUILD_opencv_ml:BOOL="0" -DOPENCV_ENABLE_MEMALIGN:BOOL="0" -DBUILD_opencv_python_tests:BOOL="0" -DCV_ENABLE_INTRINSICS:BOOL="0" -DOPENCL_FOUND:BOOL="0" -DWITH_OPENCL_D3D11_NV:BOOL="0" -Dnext:BOOL="0" -DBUILD_opencv_gapi:BOOL="0" -DBUILD_opencv_flann:BOOL="0" -DBUILD_TESTS:BOOL="0" -DWITH_DIRECTX:BOOL="0" -DCMAKE_BUILD_TYPE=RELEASE -A Win32 ..
-
Open the solution build\OpenCV.sln using Visual Studio
-
Change the build mode to Release instead of Debug
-
Set ALL_build solution as startup project
-
Build the solution
-
Right-click on INSTALL solution and build it
-
Tell Yadoms where to find OpenCV into the Yadoms file "sources/CMakeListsUserConfig.txt", by adding such a line :
set(OPENCV_ROOT "C:/dev/opencv-<version>/build/install/x86/vc16/staticlib")
-
Download the last version of PostgreSQL (9.6.1 at the document redaction). Choose the 32-bits version.
-
Extract the package into a directory
-
Tell Yadoms where to find PostgreSQL setting install folder into the Yadoms file "sources/CMakeListsUserConfig.txt", by adding such a line :
set(PostgreSQL_ROOT "D:/dev/pgsql")
- Set PostgreSQL parameters in yadoms.ini file (in the Yadoms binary folder after Yadoms build)
First build the Visual Studio solution, by running our batch file :
cmake_windows.cmd
The projects and solution are generated in the projects
folder.
To build, you can open projects/yadoms.sln
with your IDE, or use this command line (from projects
folder) :
cmake --build . --config Release
Replace Release
by Debug
to build debug version.
Binaries will be written into builds
folder.
Change the working directory in the debugger properties of the project yadoms by :
$(TargetDir)
Yadoms -- The ultimate house automation solution