How to Build Spectator View Plugin These Steps Describe What to Do To

Total Page:16

File Type:pdf, Size:1020Kb

How to Build Spectator View Plugin These Steps Describe What to Do To How to build Spectator View Plugin These steps describe what to do to generate the DLLs needed to use the Spectator View Plugin in Unity. 0. Ensure you have the Universal Windows Platform development tools installed and configured in Visual Studio 2017 1. Download and install git https://git-scm.com/download/win (make sure to leave the default installation parameters) 2. Download and install cmake from here (make sure you select ADD TO PATH for all users) https://cmake.org/files/v3.11/cmake-3.11.4-win64-x64.msi 3. Clone the following repository using GitHub https://github.com/Microsoft/vcpkg.git 4. In GitHub, and with the vcpkg repository open, select Repository > Open in command prompt 5. Enter the following: a. git checkout 068032bc548817a04709970f76268a6d7b1767c7 + ENTER b. .\bootstrap-vcpkg.bat + ENTER c. .\vcpkg integrate install + ENTER d. .\vcpkg install opencv[contrib]:x86-uwp –-recurse + ENTER 6. Clone the following repository using GitHub https://github.com/Microsoft/MixedRealityToolkit.git 7. Open the .sln file located in MixedRealityToolkit\SpectatorViewPlugin\SpectatorViewPlugin\SpectatorViewPlugin.sln 8. Set the build options to Release and x86, then build the solution 9. If you see an error regarding an opencv lib file version 341, go to the Project’s settings by right clicking on the child project “SpectatorViewPlugin (Universal Windows) > Properties. Then on the left, navigate to Configuration Properties / Linker / Input, and change the line in Additional Dependencies for the following one (see image below) a. opencv_aruco343.lib;opencv_core343.lib;opencv_calib3d343.lib;opencv_features2 d343.lib;opencv_flann343.lib;opencv_highgui343.lib;opencv_imgcodecs343.lib;ope ncv_ml343.lib;opencv_videoio343.lib;%(AdditionalDependencies) 10. DLLs will be created in the child folder MixedRealityToolkit\SpectatorViewPlugin\SpectatorViewPlugin\Release\SpectatorViewPlugi n 11. Copy the DLLs to the Unity project (after importing the HoloToolkit plugin) to the folder HoloToolkit-Preview\SpectatorView\Plugins\WSA\x86 .
Recommended publications
  • Thriving in a Crowded and Changing World: C++ 2006–2020
    Thriving in a Crowded and Changing World: C++ 2006–2020 BJARNE STROUSTRUP, Morgan Stanley and Columbia University, USA Shepherd: Yannis Smaragdakis, University of Athens, Greece By 2006, C++ had been in widespread industrial use for 20 years. It contained parts that had survived unchanged since introduced into C in the early 1970s as well as features that were novel in the early 2000s. From 2006 to 2020, the C++ developer community grew from about 3 million to about 4.5 million. It was a period where new programming models emerged, hardware architectures evolved, new application domains gained massive importance, and quite a few well-financed and professionally marketed languages fought for dominance. How did C++ ś an older language without serious commercial backing ś manage to thrive in the face of all that? This paper focuses on the major changes to the ISO C++ standard for the 2011, 2014, 2017, and 2020 revisions. The standard library is about 3/4 of the C++20 standard, but this paper’s primary focus is on language features and the programming techniques they support. The paper contains long lists of features documenting the growth of C++. Significant technical points are discussed and illustrated with short code fragments. In addition, it presents some failed proposals and the discussions that led to their failure. It offers a perspective on the bewildering flow of facts and features across the years. The emphasis is on the ideas, people, and processes that shaped the language. Themes include efforts to preserve the essence of C++ through evolutionary changes, to simplify itsuse,to improve support for generic programming, to better support compile-time programming, to extend support for concurrency and parallel programming, and to maintain stable support for decades’ old code.
    [Show full text]
  • Vcpkg, Un Outil Pour Acquérir Et Compiler Plus Simplement Les Librairies Open Source C++ Sur Windows
    043_044_204 24/01/17 21:59 Page43 microsoft 43 # 204 Vcpkg, un outil pour acquérir et compiler plus simplement les librairies open source C++ sur Windows. Eric Mittelette Acquérir une librairie open source, la compiler sur Windows et l’intégrer dans son Microsoft Corp. projet C++ reste une opération délicate, voire une galère. Pour une librairie donnée, il faut trouver les sources, les installer localement, compiler la librairie et enfin la mettre à disposition du projet dans lequel vous souhaitez l’utiliser. a phase de build est de loin la plus subtile et complexe, elle nécessi- source de la librairie. Nous voulions que cette collection de « port files » te souvent un peu d’adaptation (patch) si la librairie n’est pas encore soit open source et que la communauté des développeurs C++ puisse y Ldisponible pour la version de compilateur que vous utilisez, cette contribuer en ajoutant les librairies qu’ils maintiennent ou utilisent. adaptation nécessite encore l’usage d’incantations (sous forme de scripts, L’architecture générale en découle assez naturellement : pas de magie noire…), que seuls les grands « faiseurs » maîtrisent réelle- • Créer une liste de « port file » dans un repo Github ; ment. Nous savons par sondage et les appels au support technique de • Créer un outil en ligne de commande qui exploite cette liste et capable Microsoft que les librairies tierces restent pour plus de 30% des cas le blo- de lancer le processus de compilation au regard des instructions de queur a la migration vers les dernières versions du compilateur C++. Nous chaque « port file » ; savons également que 80% des projets C++ utilisent 2 ou 3 librairies • Installer le résultat de la compilation dans un répertoire local « « LibFolder » ; tierces en moyenne, et que la vaste majorité d’entre elles sont aujourd’hui • Permettre une intégration simple avec Visual studio, CMake ou tout des librairies open source.
    [Show full text]
  • Q1 Where Do You Use C++? (Select All That Apply)
    2021 Annual C++ Developer Survey "Lite" Q1 Where do you use C++? (select all that apply) Answered: 1,870 Skipped: 3 At work At school In personal time, for ho... 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ANSWER CHOICES RESPONSES At work 88.29% 1,651 At school 9.79% 183 In personal time, for hobby projects or to try new things 73.74% 1,379 Total Respondents: 1,870 1 / 35 2021 Annual C++ Developer Survey "Lite" Q2 How many years of programming experience do you have in C++ specifically? Answered: 1,869 Skipped: 4 1-2 years 3-5 years 6-10 years 10-20 years >20 years 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ANSWER CHOICES RESPONSES 1-2 years 7.60% 142 3-5 years 20.60% 385 6-10 years 20.71% 387 10-20 years 30.02% 561 >20 years 21.08% 394 TOTAL 1,869 2 / 35 2021 Annual C++ Developer Survey "Lite" Q3 How many years of programming experience do you have overall (all languages)? Answered: 1,865 Skipped: 8 1-2 years 3-5 years 6-10 years 10-20 years >20 years 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ANSWER CHOICES RESPONSES 1-2 years 1.02% 19 3-5 years 12.17% 227 6-10 years 22.68% 423 10-20 years 29.71% 554 >20 years 34.42% 642 TOTAL 1,865 3 / 35 2021 Annual C++ Developer Survey "Lite" Q4 What types of projects do you work on? (select all that apply) Answered: 1,861 Skipped: 12 Gaming (e.g., console and..
    [Show full text]
  • Microsoft / Vcpkg
    Microsoft / vcpkg master vcpkg / ports / Create new file Find file History Fetching latest commit… .. abseil [abseil][aws-sdk-cpp][breakpad][chakracore][cimg][date][exiv2][libzip… Apr 13, 2018 ace Update to ACE 6.4.7 (#3059) Mar 19, 2018 alac-decoder [alac-decoder] Fix x64 Mar 7, 2018 alac [ports] Mark several ports as unbuildable on UWP Nov 26, 2017 alembic [alembic] update to 1.7.7 Mar 25, 2018 allegro5 [many ports] Updates to latest Nov 30, 2017 anax [anax] Use vcpkg_from_github(). Add missing vcpkg_copy_pdbs() Sep 25, 2017 angle [angle] Add CMake package with modules. (#2223) Nov 20, 2017 antlr4 [ports] Mark several ports as unbuildable on UWP Nov 26, 2017 apr-util vcpkg_configure_cmake (and _meson) now embed debug symbols within sta… Sep 9, 2017 apr [ports] Mark several ports as unbuildable on UWP Nov 26, 2017 arb [arb] prefer ninja Nov 26, 2017 args [args] Fix hash Feb 24, 2018 armadillo add armadillo (#2954) Mar 8, 2018 arrow Update downstream libraries to use modularized boost Dec 19, 2017 asio [asio] Avoid boost dependency by always specifying ASIO_STANDALONE Apr 6, 2018 asmjit [asmjit] init Jan 29, 2018 assimp [assimp] Fixup: add missing patchfile Dec 21, 2017 atk [glib][atk] Disable static builds, fix generation to happen outside t… Mar 5, 2018 atkmm [vcpkg-build-msbuild] Add option to use vcpkg's integration. Fixes #891… Mar 21, 2018 atlmfc [atlmfc] Add dummy port to detect atl presence in VS Apr 23, 2017 aubio [aubio] Fix missing required dependencies Mar 27, 2018 aurora Added aurora as independant portfile Jun 21, 2017 avro-c
    [Show full text]
  • Brno University of Technology Vysoké Učení Technické V Brně
    BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FACULTY OF INFORMATION TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ DEPARTMENT OF INTELLIGENT SYSTEMS ÚSTAV INTELIGENTNÍCH SYSTÉMŮ AUTOMATED SECURITY COMPLIANCE SCANNING OF MS WINDOWS OPERATING SYSTEM USING OPENSCAP PROJECT AUTOMATIZOVANÉ OVĚŘOVÁNÍ KONFIGURACE OPERAČNÍHO SYSTÉMU MS WINDOWS POMOCÍ PROJEKTU OPENSCAP MASTER’S THESIS DIPLOMOVÁ PRÁCE AUTHOR Bc. JAN ČERNÝ AUTOR PRÁCE SUPERVISOR Ing. ALEŠ SMRČKA, Ph.D. VEDOUCÍ PRÁCE BRNO 2018 Abstract This work deals with security compliance of computer systems, namely operating systems, applications and system services. Concept of security policies, their evaluation and their enforcement is described. Security compliance automation and the SCAP standard are presented. OpenSCAP project, which is used as an SCAP scanner, is described together with its tools and its usage. An idea to add support of Microsoft Windows within Open- SCAP, which was previously unsupported, is presented. The core part of the thesis is to identify necessary changes of OpenSCAP and to design an extension of this project. All these modifications are implemented. The solution is demonstrated on security policies for Windows. The solution is evaluated and further improvements are discussed. Abstrakt Tato práce se zabývá problematikou bezpečné konfigurace výpočetních systémů, jako jsou operační systémy, aplikace a služby. Seznamuje čtenáře s konceptem bezpečnostních poli- tik a jejich ověřováním. Soustředí se na problematiku automatizace bezpečné konfigurace s důrazem na standard SCAP. Popisuje projekt OpenSCAP, který se používá jako SCAP scanner, jeho aplikace a jejich použití. Navrhuje rozšířit OpenSCAP i na operační sys- tém Microsoft Windows, který doposud nebyl podporován. Těžištěm práce je identifikace nutných změn projektu OpenSCAP a návrh jeho rozšíření.
    [Show full text]
  • Aubio Documentation Release 0.5.0-Alpha
    aubio Documentation Release 0.5.0-alpha Paul Brossier Jan 19, 2021 Contents 1 Quick links 3 2 Project pages 5 3 Features 7 4 Content 9 4.1 Installing aubio..............................................9 4.2 Downloading aubio............................................ 10 4.3 Building aubio.............................................. 11 4.4 Build options............................................... 14 4.5 Installing aubio for Python........................................ 19 4.6 Python documentation.......................................... 20 4.7 Command line tools........................................... 48 4.8 Developing with aubio.......................................... 66 4.9 About................................................... 68 Index 71 i ii aubio Documentation, Release 0.5.0-alpha aubio is a collection of algorithms and tools to label and transform music and sounds. It scans or listens to audio signals and attempts to detect musical events. For instance, when a drum is hit, at which frequency is a note, or at what tempo is a rhythmic melody. aubio features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio. Contents 1 aubio Documentation, Release 0.5.0-alpha 2 Contents CHAPTER 1 Quick links • Python documentation • Command line tools • Developing with aubio • Building aubio 3 aubio Documentation, Release 0.5.0-alpha 4 Chapter 1. Quick links CHAPTER 2 Project pages • Project homepage: https://aubio.org • aubio on github: https://github.com/aubio/aubio • aubio on pypi: https://pypi.python.org/pypi/aubio • Doxygen documentation: https://aubio.org/doc/latest/ • Mailing lists: https://lists.aubio.org • Travis Continuous integration page • Appveyor Continuous integration page • Landscape python code validation • ReadTheDocs documentation 5 aubio Documentation, Release 0.5.0-alpha 6 Chapter 2.
    [Show full text]
  • Pybind11 Documentation
    pybind11 Documentation Wenzel Jakob Sep 28, 2021 CONTENTS 1 Changelog 3 2 Upgrade guide 26 3 Installing the library 34 4 First steps 36 5 Object-oriented code 41 6 Build systems 49 7 Functions 58 8 Classes 67 9 Exceptions 86 10 Smart pointers 91 11 Type conversions 94 12 Python C++ interface 114 13 Embedding the interpreter 127 14 Miscellaneous 132 15 Frequently asked questions 138 16 Benchmark 144 17 Limitations 147 18 Reference 149 19 CMake helpers 165 Bibliography 169 Index 170 i pybind11 Documentation pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code. Its goals and syntax are similar to the excellent Boost.Python library by David Abrahams: to minimize boilerplate code in traditional extension modules by inferring type information using compile-time introspection. The main issue with Boost.Python—and the reason for creating such a similar project—is Boost. Boost is an enor- mously large and complex suite of utility libraries that works with almost every C++ compiler in existence. This compatibility has its cost: arcane template tricks and workarounds are necessary to support the oldest and buggiest of compiler specimens. Now that C++11-compatible compilers are widely available, this heavy machinery has become an excessively large and unnecessary dependency. Think of this library as a tiny self-contained version of Boost.Python with everything stripped away that isn’t relevant for binding generation. Without comments, the core header files only require ~4K lines of code and depend on Python (2.7 or 3.5+, or PyPy) and the C++ standard library.
    [Show full text]
  • 19 – Final Thoughts CS 2043: Unix Tools and Scripting, Spring 2019 [1]
    19 – Final thoughts CS 2043: Unix Tools and Scripting, Spring 2019 [1] Matthew Milano March 8, 2019 Cornell University 1 Table of Contents 1. Back to desktop environments 2. Linux everywhere 3. Linux everywhere 2 Back to desktop environments Option 1: KDE Figure 1: KDE 3 Option 2: GNOME Figure 2: GNOME 4 Option 3: XFCE4 Figure 3: XFCE4 5 Tiling window managers • Basic concept: windows don’t “float” or “resize”; they always take all available area • Can sub-divide screen into smaller regions (in half, in quarters, etc). • Applications automatically resize to snap to your new “grid” • don’t move things with the mouse; change “splits” your screen with keyboard shortcuts • some developers swear by these • basically unused outside of serious developer circles. 6 XMonad Figure 4: xmonad 7 Awesome Figure 5: Awesome 8 Linux everywhere Linux on windows: the old • Git Bash uses MinGW / Cygwin • Demo (I’m supposed to go to the cygwin website, and the git bash installer, then install git bash) 9 Linux on windows: the new • A brief aside: Windows kernel is a federation of components called a hybrid kernel • Windows’ normal runtime is win32, built atop a core kernel layer • We won’t really get into what that means • The Windows Subsystem for Linux is magic • new subsystem like win32 • provides commands/API calls/syscalls from the Linux Kernel • isn’t actually Linux, but is close enough for all your userspace programs to not know the difference • You definitely want to install VcXsrv • Demo: let’s look at WSL. • There are lots and lots of guides to install
    [Show full text]
  • How to Install NDCTL and DAXCTL on Linux
    APPENDIX A How to Install NDCTL and DAXCTL on Linux The ndctl utility is used to manage the libnvdimm (non-volatile memory device) subsystem in the Linux kernel and to administer namespaces. The daxctl utility provides enumeration and provisioning commands for any device-dax namespaces you create. daxctl is only required if you work directly with device-dax namespaces. We presented a use-case for the ‘system-ram’ dax type in Chapter 10, that can use persistent memory capacity to dynamically extend the usable volatile memory capacity in Linux. Chapter 10 also showed how libmemkind can use device dax namespaces for volatile memory in addition to using DRAM. The default, and recommended, namespace for most developers is filesystem-dax (fsdax). Both Linux-only utilities - ndctl and daxctl - are open source and are intended to be persistent memory vendor neutral. Microsoft Windows has integrated graphical utilities and PowerShell Commandlets to administer persistent memory. libndctl and libdaxctl are required for several Persistent Memory Development Kit (PMDK) features if compiling from source. If ndctl is not available, the PMDK may not build all components and features, but it will still successfully compile and install. In this appendix, we describe how to install ndctl and daxctl using the Linux package repository only. To compile ndctl from source code, refer to the README on the ndctl GitHub repository (https://github.com/pmem/ndctl) or https://docs.pmem.io. Prerequisites Installing ndctl and daxctl using packages automatically installs any missing dependency packages on the system. A full list of dependencies is usually listed when installing the package.
    [Show full text]
  • Latest and Greatest in Visual Studio for C++ Developers Steve.Carroll & Daniel.Moth @Microsoft.Com
    Latest and Greatest in Visual Studio for C++ developers Steve.Carroll & Daniel.Moth @microsoft.com https://blogs.msdn.microsoft.com/vcblog/ Win an Xbox One S Forza Horizon 3 + Destiny 2 Bundle! Take this survey: https://aka.ms/cppcon Mission of C++ Product Team at Microsoft (DevDiv) Make the lives of all C++ developers on the planet better 1. by participating with the C++ Standards committee 2. by investing in the Microsoft Visual C++ (MSVC) Compiler 3. by improving the Visual Studio IDE 4. by continuing to enhance the C++ extension for Visual Studio Code Visual Studio Code: C/C++ Extension • Lightweight, keyboard focused • Git integration • Code Editing • IntelliSense, Code Browsing, Switch header/source, Code formatting (clang-format) • Debugging • Core-dump debugging, launch, attach, breakpoints (incl. conditional and function), stepping, threads, call stack, watch, GDB and MI commands • Easily run, build, test, and run external tasks https://code.visualstudio.com/docs/languages/cpp AGENDA • Microsoft Visual C++ (MSVC) Compiler and Libraries • Conformance • Compiler Diagnostics • Code Analysis • Code Gen Quality • Build Throughput • Visual Studio 2017 • Faster installation and your disk will thank you • Pain-free upgrade • Just point Visual Studio to your code • Use Visual Studio for all your projects and target platforms • Be more productive than ever MSVC Conformance Two-phase Name Lookup (partial support) under /permissive- default/deleted func, Inline namespaces, User-defined literals, noexcept, char16_t/char32_t, alignas/alignof,
    [Show full text]
  • C++ Binary Dependency Management with Gradle
    C++ Binary Dependency Management with Gradle Hugh Greene <[email protected]> C++ Binary Dependency Management with Gradle Getting consistent versions of things needed to build your software and to use it 2 C++ Binary Dependency Management with Gradle ● Why? – Saves time – Identical binaries → confidence in testing – Fewer global installs of build tools – Licence costs for compilers, SDKs – Restricted source access 3 C++ Binary Dependency Management with Gradle ● Newer languages/platforms have their own – Python: PIP – Ruby: Gems – JVM: Ivy, Maven, Gradle, … – .Net: NuGet ● C++ (in 2013) – NuGet: poor native variant support ● + other disadvantages 4 C++ Binary Dependency Management with Gradle ● Getting versions: package manager – *nix: rpm, apt, etc. … maybe Nix – Windows: nothing (in 2013) – … or download src, make, install ● Connecting to build – *nix: ./configure – Cross-platform: CMake ● Awkward with Visual Studio 5 C++ Binary Dependency Management with Gradle ● The Holy Gradle – and friends ● Developed and used commercially in-house – OSS but NOT supported externally – since 2013 6 C++ Binary Dependency Management with Gradle ● Some requirements – Easy to understand version set – Reproducible builds – Robust against tool failure/bugs – Binary repository server ● Stop storing binaries in Subversion! – Disconnected sites – Windows platform – Visual Studio (mostly) – 7 C++ Binary Dependency Management with Gradle ● What? – Java-land Dependency Management + Build tool ● CMake for Java ≈ building a classpath – Modules: ID/coordinate =
    [Show full text]
  • The State of Package Management in C++ “We Need a Better Package/Build System” Bjarne Stroustrup Cppcon 2017
    The State of Package Management in C++ “We need a better package/build system” Bjarne Stroustrup CppCon 2017 “ What we want ◉ Bjarne pitched a simple workflow ○ > download gui_xyz ○ > install gui_xyz ◉ Done! ◉ Then you can just write(*) ○ import gui_xyz; (*) When Modules are adopted What do we have today? Hello! I am Mathieu Ropert I’m a C++ developer at Paradox Development Studio where I make Europa Universalis and Imperator. You can reach me at: [email protected] @MatRopert https://mropert.github.io 5 About this talk ◉ Why package management? ◉ Today’s packager managers for C++ ◉ Making your library packageable ◉ Looking at the future 6 Why package 1 management? The great challenge to come 7 Getting stuff done ◉ ISO C++17 Standard Library currently offers: ○ File I/O ○ Filesystem operations ○ Console output ○ Command line arguments ○ System environment variables ◉ That’s it Getting stuff done ◉ Out of the box you can’t ○ Access HTTP resources ■ … or any network resource at all ○ Display any 2D or 3D GUI ○ Play sounds ○ Access a SQL (or NoSQL) database ○ Read a well defined format (ZIP, JPEG, JSON…) ○ Handle Unicode Getting stuff done? ◉ Not every software is purely about computation and console UI ◉ Makes it hard to kickstart development ◉ Especially harmful to education Getting stuff done ◉ Push it into the standard! ○ Networking TS ○ 2D graphics proposal ○ SG11: Databases ○ SG16: Unicode ◉ Use a 3rd party library 3rd party libraries? ◉ C++ doesn’t lack in quantity or quality ○ Boost ○ Catch2 ○ CURL ○ FFMpeg ○ FreeImage ○ OpenSSL ○ SQLite Here’s my new cool library! ◉ “It’s header-only” ◉ “It has no dependencies” Why do we do this? A.
    [Show full text]