261 lines
7.3 KiB
ReStructuredText
261 lines
7.3 KiB
ReStructuredText
|
.. _sdk_source_install_windows:
|
|||
|
|
|||
|
Windows SDK Source Installation
|
|||
|
================================
|
|||
|
|
|||
|
.. only:: html
|
|||
|
|
|||
|
+-----------------+
|
|||
|
| Windows 10 |
|
|||
|
+=================+
|
|||
|
| |build_passing| |
|
|||
|
+-----------------+
|
|||
|
|
|||
|
.. |build_passing| image:: https://img.shields.io/badge/build-passing-brightgreen.svg?style=flat
|
|||
|
|
|||
|
.. only:: latex
|
|||
|
|
|||
|
+-----------------+
|
|||
|
| Windows 10 |
|
|||
|
+=================+
|
|||
|
| ✓ |
|
|||
|
+-----------------+
|
|||
|
|
|||
|
.. tip::
|
|||
|
|
|||
|
Windows does not provide Visual Studio ``*.sln`` file directly and requires CMake to build. Firstly, CMake can be used across multiple platforms, it is easy to configure and can be maintained in a sustainable way. Secondly, the third-party codes (Glog, OpenCV) are built using CMake.
|
|||
|
|
|||
|
.. tip::
|
|||
|
|
|||
|
There is currently no binary installer available, which requires you to compile from source. It is also the process of configuring the development environment.
|
|||
|
|
|||
|
Prerequisites
|
|||
|
-------------
|
|||
|
|
|||
|
CMake (provide build)
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
* `CMake <https://cmake.org/download/>`_,used to build and compile (necessary).
|
|||
|
* `Git <https://git-scm.com/downloads>`_, used to get code (optional).
|
|||
|
* `Doxygen <http://www.stack.nl/~dimitri/doxygen/download.html>`_, used to generate documents (optional).
|
|||
|
|
|||
|
After you install the above tools, confirm that you can run this command in CMD (Command Prompt):
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
>cmake --version
|
|||
|
cmake version 3.10.1
|
|||
|
|
|||
|
>git --version
|
|||
|
git version 2.11.1.windows.1
|
|||
|
|
|||
|
>doxygen --version
|
|||
|
1.8.13
|
|||
|
|
|||
|
Visual Studio (provide compilation)
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
* `Visual Studio <https://www.visualstudio.com/>`_
|
|||
|
|
|||
|
* `Visual Studio 2017 <https://my.visualstudio.com/Downloads?q=Visual Studio 2017>`_
|
|||
|
* `Visual Studio 2015 <https://my.visualstudio.com/Downloads?q=Visual Studio 2015>`_
|
|||
|
|
|||
|
* `Windows 10 SDK <https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk>`_
|
|||
|
|
|||
|
After installing Visual Studio, confirm that the following command can run in the Visual Studio Command Prompt:
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
>cl
|
|||
|
Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26429.4 for x86
|
|||
|
|
|||
|
>msbuild
|
|||
|
Microsoft (R) 生成引擎版本 15.7.179.6572
|
|||
|
|
|||
|
.. tip::
|
|||
|
|
|||
|
Visual Studio Command Prompt can be opened from the Start menu,
|
|||
|
|
|||
|
.. image:: ../../images/vs_cmd_menu.png
|
|||
|
:width: 30%
|
|||
|
|
|||
|
You can also open it from the Visual Studio Tools menu.
|
|||
|
|
|||
|
.. image:: ../../images/vs_cmd.png
|
|||
|
:width: 40%
|
|||
|
|
|||
|
However, if you do not have the Visual Studio 2015 Tools menu, you can add one yourself.
|
|||
|
|
|||
|
Open Tools's External Tools... and Add the following:
|
|||
|
|
|||
|
================= =======================================================================================
|
|||
|
Field Value
|
|||
|
================= =======================================================================================
|
|||
|
Title Visual Studio Command Prompt
|
|||
|
Command ``C:\Windows\System32\cmd.exe``
|
|||
|
Arguments ``/k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"``
|
|||
|
Initial Directory ``$(SolutionDir)``
|
|||
|
================= =======================================================================================
|
|||
|
|
|||
|
In Visual Studio command Prompt, you can use the compile command ``cl`` ``link`` ``lib`` ``msbuild``, etc.
|
|||
|
|
|||
|
.. image:: ../../images/vs_cmd_test.png
|
|||
|
|
|||
|
MSYS2 (provide Linux command)
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
* `MSYS2 <http://www.msys2.org/>`_
|
|||
|
|
|||
|
* `mirror <https://lug.ustc.edu.cn/wiki/mirrors/help/msys2>`_
|
|||
|
* `pacman <https://wiki.archlinux.org/index.php/pacman>`_
|
|||
|
|
|||
|
After installation, verify that the following path has been added to the system environment variable PATH:
|
|||
|
|
|||
|
.. code-block:: none
|
|||
|
|
|||
|
C:\msys64\usr\bin
|
|||
|
|
|||
|
Then, open MSYS2 MSYS, perform the update and install ``make``:
|
|||
|
|
|||
|
.. code-block:: bash
|
|||
|
|
|||
|
$ pacman -Syu
|
|||
|
$ pacman -S make
|
|||
|
|
|||
|
Finally, the CMD (Command Prompt) can run the following command:
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
>make --version
|
|||
|
GNU Make 4.2.1
|
|||
|
|
|||
|
Getting Source Code
|
|||
|
--------------------
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
git clone https://github.com/slightech/MYNT-EYE-S-SDK.git
|
|||
|
|
|||
|
Required Packages
|
|||
|
-----------------
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
>cd <sdk>
|
|||
|
>make init
|
|||
|
Make init
|
|||
|
Init deps
|
|||
|
Install cmd: pacman -S
|
|||
|
Install deps: git clang-format
|
|||
|
pacman -S clang-format (not exists)
|
|||
|
error: target not found: clang-format
|
|||
|
pip install --upgrade autopep8 cpplint pylint requests
|
|||
|
...
|
|||
|
Init git hooks
|
|||
|
ERROR: clang-format-diff is not installed!
|
|||
|
Expect cmake version >= 3.0
|
|||
|
cmake version 3.10.1
|
|||
|
|
|||
|
* `OpenCV <https://opencv.org/>`_
|
|||
|
|
|||
|
.. tip::
|
|||
|
|
|||
|
The official OpenCV provides the ``exe`` for installation. If you want to compile from the source code, see the Official document `Installation in Windows <https://docs.opencv.org/master/d3/d52/tutorial_windows_install.html>`_ . or refer to the following command:
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
>git clone https://github.com/opencv/opencv.git
|
|||
|
>cd opencv
|
|||
|
>git checkout tags/3.4.1
|
|||
|
|
|||
|
>cd opencv
|
|||
|
>mkdir _build
|
|||
|
>cd _build
|
|||
|
|
|||
|
>cmake ^
|
|||
|
-D CMAKE_BUILD_TYPE=RELEASE ^
|
|||
|
-D CMAKE_INSTALL_PREFIX=C:/opencv ^
|
|||
|
-D WITH_CUDA=OFF ^
|
|||
|
-D BUILD_DOCS=OFF ^
|
|||
|
-D BUILD_EXAMPLES=OFF ^
|
|||
|
-D BUILD_TESTS=OFF ^
|
|||
|
-D BUILD_PERF_TESTS=OFF ^
|
|||
|
-G "Visual Studio 15 2017 Win64" ^
|
|||
|
..
|
|||
|
|
|||
|
>msbuild ALL_BUILD.vcxproj /property:Configuration=Release
|
|||
|
>msbuild INSTALL.vcxproj /property:Configuration=Release
|
|||
|
|
|||
|
Building Code
|
|||
|
--------------
|
|||
|
|
|||
|
.. tip::
|
|||
|
|
|||
|
If OpenCV is installed in a custom directory or wants to specify a version, you can set the path as follows before compiling:
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
# OpenCV_DIR is hte path where OpenCVConfig.cmake in
|
|||
|
set OpenCV_DIR=C:\opencv
|
|||
|
|
|||
|
Otherwise, CMake will prompt that OpenCV could not be found. If you don't want to rely on OpenCV, read :ref:`sdk_without_opencv` .
|
|||
|
|
|||
|
Build and install:
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
cd <sdk>
|
|||
|
make install
|
|||
|
|
|||
|
Finally, the SDK will install in ``<sdk>/_install`` by default.
|
|||
|
|
|||
|
Building samples
|
|||
|
----------------
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
cd <sdk>
|
|||
|
make samples
|
|||
|
|
|||
|
Run samples:
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
.\samples\_output\bin\api\camera_a.bat
|
|||
|
|
|||
|
For tutorial samples, please read :ref:`data` and :ref:`ctrl` .
|
|||
|
|
|||
|
.. tip::
|
|||
|
|
|||
|
All compiled sample programs ``exe`` will have a corresponding ``bat``. ``bat`` will temporarily set system environment variables and then run ``exe``. So it is recommended to run ``bat``.
|
|||
|
|
|||
|
If you run``exe`` directly, it may prompt that cannot find ``dll``. Then you should add ``<sdk>\\_install\\bin`` ``%OPENCV_DIR%\\bin`` to ``PATH`` in system environment variable.
|
|||
|
|
|||
|
How to set the environment variable for OpenCV, refer to the official document `Set the OpenCV environment variable and add it to the systems path <https://docs.opencv.org/master/d3/d52/tutorial_windows_install.html#tutorial_windows_install_path>`_ .
|
|||
|
|
|||
|
Building tools
|
|||
|
---------------
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
cd <sdk>
|
|||
|
make tools
|
|||
|
|
|||
|
The usage of tools and scripts will be introduced later.
|
|||
|
|
|||
|
.. tip::
|
|||
|
|
|||
|
The script is based on Python. You need to install Python and its package management tool pip first, and then install the dependencies as follows:
|
|||
|
|
|||
|
.. code-block:: bat
|
|||
|
|
|||
|
cd <sdk>\tools
|
|||
|
pip install -r requirements.txt
|
|||
|
|
|||
|
Note: Python is also in MSYS2, but fail install Matplotlib in test.
|
|||
|
|
|||
|
Conclusion
|
|||
|
-----------
|
|||
|
|
|||
|
If your project will use SDK, you can refer to the settings in ``samples/CMakeLists.txt`` for CMake. Or just import the head file and dynamic library in the installation directory.
|