{"id":223350,"date":"2021-10-26T13:00:49","date_gmt":"2021-10-26T12:00:49","guid":{"rendered":"https:\/\/objectbox.io\/?p=223350"},"modified":"2021-11-08T13:43:30","modified_gmt":"2021-11-08T13:43:30","slug":"cpp-beginner-tutorial","status":"publish","type":"post","link":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/","title":{"rendered":"Beginner C++ tutorial: ObjectBox installation"},"content":{"rendered":"\n<p>This ObjectBox beginner tutorial is for people who have limited knowledge of C++ development (no prior experience with external libraries is required). It will walk you through the installation process of all the development tools needed to get started with ObjectBox on Windows. By the way, ObjectBox is a database with intuitive native APIs, so it won&#8217;t take you long to start using it.<\/p>\n\n\n\n<p>Firstly, we will need to set up a Linux subsystem (WSL2) and install such tools as:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>CMake<\/strong>, which will generate build files from the ObjectBox source code to work on Linux;<\/li><li><strong>Git<\/strong>, which will download the source code from the ObjectBox repository.<\/li><\/ul>\n\n\n\n<p>Then, we will install ObjectBox and run a simple example in Visual Studio Code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Windows Subsystem for Linux (WSL2)<\/h2>\n\n\n\n<p>In this section, you will set up a simple Linux subsystem that you can use to build Objectbox in C++.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/wsl\/install\">Install WSL<\/a> (Note: this requires a reboot; it also configures a limited HyperV that may cause issues with e.g. VirtualBox).<br><strong>Warning: to paste<\/strong> e.g. a password to the Ubuntu setup console window, <strong>right-click the title bar and select Edit \u2192 Paste<\/strong>. CTRL + V may not work.<\/li><li>(optional, but recommended) install <a href=\"https:\/\/www.microsoft.com\/en-us\/p\/windows-terminal\/9n0dx20hk701?activetab=pivot:overviewtab\">Windows Terminal<\/a> from Microsoft Store and use Ubuntu from there (does not have the copy\/paste issue, also supports terminal apps better).<\/li><\/ol>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/windows-terminal-download-microsoft-store.jpg\" alt=\"Windows Terminal in the Microsoft Store\" class=\"wp-image-223354\" width=\"387\" height=\"180\"\/><\/figure><\/div>\n\n\n\n<p>3. Within Windows Terminal, open Ubuntu by choosing it from the dropdown menu.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/open-ubuntu-in-windows-terminal.jpg\" alt=\"Drop-down menu in Windows Terminal, through which a new tab for Ubuntu can be opened\" class=\"wp-image-223355\" width=\"229\" height=\"224\"\/><\/figure><\/div>\n\n\n\n<p>4. Get the latest packages and upgrade:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt upgrade<\/code><\/pre>\n\n\n\n<p>5. Install build tools<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install build-essential git cmake ccache gdb\n\n# install LLVM \/ clang\nLLVM_VERSION=12\nsudo apt install clang-$LLVM_VERSION clang-tools-$LLVM_VERSION clang-format-$LLVM_VERSION lldb-$LLVM_VERSION lld-$LLVM_VERSION clangd-$LLVM_VERSION\n\n# Make clang-LLVM_VERSION the default clang, and clang the default C\/C++ compiler\nsudo update-alternatives --install \/usr\/bin\/clang++ clang++ \/usr\/bin\/clang++-$LLVM_VERSION 1000\nsudo update-alternatives --install \/usr\/bin\/c++ c++ \/usr\/bin\/clang++ 1000\nsudo update-alternatives --config c++\nsudo update-alternatives --config clang++\nsudo update-alternatives --install \/usr\/bin\/clang clang \/usr\/bin\/clang-$LLVM_VERSION 1000\nsudo update-alternatives --install \/usr\/bin\/cc cc \/usr\/bin\/clang 1000\nsudo update-alternatives --config cc\nsudo update-alternatives --config clang\ncc --version\nc++ --version\n\n# clang tools\nsudo update-alternatives --install \/usr\/bin\/clang-format clang-format \/usr\/bin\/clang-format-$LLVM_VERSION 1000\nsudo update-alternatives --install \/usr\/bin\/scan-build scan-build \/usr\/bin\/scan-build-$LLVM_VERSION 1000\n\n# lld is faster than the standard ld linker\nsudo update-alternatives --install \/usr\/bin\/ld ld \/usr\/bin\/ld.lld-$LLVM_VERSION 50\nsudo update-alternatives --install \/usr\/bin\/ld ld \/usr\/bin\/ld.bfd 10\nsudo update-alternatives --config ld\nld --version<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Install ObjectBox using CMake<\/h2>\n\n\n\n<p>Now that you have WSL2 and all the packages, we can switch to VS Code and install ObjectBox with the help of CMake.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>In Ubuntu, create a new directory and then open it in Visual Studio Code:<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir objectbox-ex \ncd objectbox-ex\ncode .<\/code><\/pre>\n\n\n\n<p>2. Install the following extensions:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode-remote.remote-wsl\">Remote &#8211; WSL<\/a><\/li><li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools\">C\/C++<\/a><\/li><li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cmake-tools\">CMake Tools<\/a><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/vs-code-wsl-extensions.jpg\" alt=\"Extensions tab in Visual Studio Code, showing what needs to be installed in this tutorial: C\/C++, CMake Tools and Remote - WSL \" class=\"wp-image-223356\" width=\"250\" height=\"232\"\/><\/figure><\/div>\n\n\n\n<p>3. Create a text file called CMakeLists.txt with the following code. It will tell CMake to get the ObjectBox source code from its Git repository and link the library to your project.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>include(FetchContent) \n\nFetchContent_Declare( \nobjectbox \nGIT_REPOSITORY https:\/\/github.com\/objectbox\/objectbox-c.git \nGIT_TAG v0.14.0 \n) \n\nFetchContent_MakeAvailable(objectbox) \n\nadd_executable(myapp main.cpp) \ntarget_link_libraries(myapp objectbox)<\/code><\/pre>\n\n\n\n<p>4. Create a simple main.cpp file that will help us verify the setup:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include \"objectbox.hpp\" \n\nint main() { \nprintf(\"Using ObjectBox version %s\\n\", obx_version_string()); \n}\n<\/code><\/pre>\n\n\n\n<p>5. Follow<a href=\"https:\/\/code.visualstudio.com\/docs\/cpp\/cmake-linux#_select-a-kit\"> this official guide for VS code and CMake<\/a> to select Clang as the compiler, configure and build ObjectBox. As a result, .vscode and build folders will be generated. So your directory should now look like this:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/objectbox-example-directory.jpg\" alt=\"Explorer tab in Visual Studio Code, showing the two new folders that were generated after a successful build\" class=\"wp-image-223357\" width=\"302\" height=\"189\"\/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Running the tasks-list app example <\/h2>\n\n\n\n<p>Finally, we can check that everything works and run a simple example.<\/p>\n\n\n\n<p>1. Click the &#8220;Select target to launch&#8221; button on the status bar and select &#8220;myapp&#8221; from the dropdown menu. Then launch it. You should see it output the correct version as in the screenshot.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/select-launch-target-vs-code.png\" alt=\"&quot;Select launch target&quot; menu in Visual Studio Code\" class=\"wp-image-223363\" width=\"372\" height=\"81\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/objectbox-version-output-1.jpg\" alt=\"Output of main.cpp, verifying the version of ObjectBox used and demonstrating that the C++ build files were generated correctly.\" class=\"wp-image-223361\" width=\"366\" height=\"33\"\/><\/figure><\/div>\n\n\n\n<p>2. Before proceeding with the example, you need to download the most recent ObjectBox generator for Linux from<a href=\"https:\/\/github.com\/objectbox\/objectbox-generator\/releases\"> releases<\/a>. Then come back to the Windows Terminal and type<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>explorer.exe .<\/code><\/pre>\n\n\n\n<p>to open the current directory in Windows Explorer. Copy the objectbox-generator file in there.<\/p>\n\n\n\n<p>3. Back in VS Code, you should now run the generator for the example code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/objectbox-generator -cpp build\/_deps\/objectbox-src\/examples\/cpp-gen\/tasklist.fbs<\/code><\/pre>\n\n\n\n<p>If you get a &#8220;permission denied&#8221; error, try this to make the generator file executable for your user:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x objectbox-generator<\/code><\/pre>\n\n\n\n<p>4. Now choose <strong>objectbox-c-examples-tasks-cpp-gen<\/strong> as the target and run it. You should see the menu of a simple to-do list app as shown on the screenshot. It stores your tasks, together with their creation time and status. Try playing around with it and exploring the code of this example app to get a feel of how ObjectBox can be used.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/objectbox-cpp-task-list-example-app.png\" alt=\"Output of the Objectbox C++ tasks-list app example showing its menu with available commands\" class=\"wp-image-223365\" width=\"471\" height=\"140\"\/><\/figure><\/div>\n\n\n\n<p>Note: if you see a sync error (e.g. Can not modify object of sync-enabled type &#8220;Task&#8221; because sync has not been activated for this store), please delete the first line from the tasklist.fbs file and run the objectbox generator once again. Or, if you want to try sync, apply for our <a href=\"https:\/\/objectbox.io\/sync\/\">Early Access Data Sync<\/a>. There is a separate example (called <strong>objectbox-c-examples-tasks-cpp-gen-sync<\/strong>) that you can run after installing the Sync Server<strong>.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to install and build ObjectBox source files on Windows, using a Linux subsystem and CMake \u2014 tutorial for a C++ beginner<\/p>\n","protected":false},"author":42,"featured_media":223376,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[275,8,10,274],"tags":[26,39,89],"class_list":["post-223350","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-edge-database","category-mobile-database","category-objectbox","category-tutorial","tag-c","tag-edge-computing","tag-edge-database"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Beginner C++ tutorial: ObjectBox installation<\/title>\n<meta name=\"description\" content=\"How to install and build ObjectBox source files on Windows, using a Linux subsystem and CMake \u2014 tutorial for a C++ beginner\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Beginner C++ tutorial: ObjectBox installation\" \/>\n<meta property=\"og:description\" content=\"How to install and build ObjectBox source files on Windows, using a Linux subsystem and CMake \u2014 tutorial for a C++ beginner\" \/>\n<meta property=\"og:url\" content=\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"ObjectBox\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/objectboxTeam\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-26T12:00:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-08T13:43:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1158\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Anna\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@alyssa\" \/>\n<meta name=\"twitter:site\" content=\"@objectbox_io\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anna\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/\"},\"author\":{\"name\":\"Anna\",\"@id\":\"https:\/\/objectbox.io\/#\/schema\/person\/8cc3c75fd9f13ef83401661b7b44d322\"},\"headline\":\"Beginner C++ tutorial: ObjectBox installation\",\"datePublished\":\"2021-10-26T12:00:49+00:00\",\"dateModified\":\"2021-11-08T13:43:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/\"},\"wordCount\":634,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/objectbox.io\/#organization\"},\"image\":{\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg\",\"keywords\":[\"C++\",\"Edge Computing\",\"edge database\"],\"articleSection\":[\"Edge Database\",\"Mobile Database\",\"ObjectBox\",\"Tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/\",\"url\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/\",\"name\":\"Beginner C++ tutorial: ObjectBox installation\",\"isPartOf\":{\"@id\":\"https:\/\/objectbox.io\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg\",\"datePublished\":\"2021-10-26T12:00:49+00:00\",\"dateModified\":\"2021-11-08T13:43:30+00:00\",\"description\":\"How to install and build ObjectBox source files on Windows, using a Linux subsystem and CMake \u2014 tutorial for a C++ beginner\",\"breadcrumb\":{\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#primaryimage\",\"url\":\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg\",\"contentUrl\":\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg\",\"width\":2000,\"height\":1158},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"ObjectBox\",\"item\":\"https:\/\/objectbox.io\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Edge Database\",\"item\":\"https:\/\/objectbox.io\/category\/edge-database\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Beginner C++ tutorial: ObjectBox installation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/objectbox.io\/#website\",\"url\":\"https:\/\/objectbox.io\/\",\"name\":\"ObjectBox\",\"description\":\"Fast on-device database with Vector Search for Mobile, IoT &amp; other embedded devices\",\"publisher\":{\"@id\":\"https:\/\/objectbox.io\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/objectbox.io\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/objectbox.io\/#organization\",\"name\":\"ObjectBox\",\"url\":\"https:\/\/objectbox.io\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/objectbox.io\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/06\/objectbox-logo.png\",\"contentUrl\":\"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/06\/objectbox-logo.png\",\"width\":559,\"height\":186,\"caption\":\"ObjectBox\"},\"image\":{\"@id\":\"https:\/\/objectbox.io\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/objectboxTeam\/\",\"https:\/\/x.com\/objectbox_io\",\"https:\/\/www.instagram.com\/objectbox_io\/\",\"https:\/\/www.linkedin.com\/company\/objectbox\",\"https:\/\/www.youtube.com\/channel\/UCLs3F3Lhh8pjC66WZIopJ6Q\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/objectbox.io\/#\/schema\/person\/8cc3c75fd9f13ef83401661b7b44d322\",\"name\":\"Anna\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/objectbox.io\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8582cc77120ac438eb55a991575cb0f093f698b23e6f697ad171772045e45437?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8582cc77120ac438eb55a991575cb0f093f698b23e6f697ad171772045e45437?s=96&d=mm&r=g\",\"caption\":\"Anna\"},\"sameAs\":[\"https:\/\/x.com\/alyssa\"],\"url\":\"https:\/\/objectbox.io\/author\/anna\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Beginner C++ tutorial: ObjectBox installation","description":"How to install and build ObjectBox source files on Windows, using a Linux subsystem and CMake \u2014 tutorial for a C++ beginner","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Beginner C++ tutorial: ObjectBox installation","og_description":"How to install and build ObjectBox source files on Windows, using a Linux subsystem and CMake \u2014 tutorial for a C++ beginner","og_url":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/","og_site_name":"ObjectBox","article_publisher":"https:\/\/www.facebook.com\/objectboxTeam\/","article_published_time":"2021-10-26T12:00:49+00:00","article_modified_time":"2021-11-08T13:43:30+00:00","og_image":[{"width":2000,"height":1158,"url":"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg","type":"image\/jpeg"}],"author":"Anna","twitter_card":"summary_large_image","twitter_creator":"@alyssa","twitter_site":"@objectbox_io","twitter_misc":{"Written by":"Anna","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#article","isPartOf":{"@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/"},"author":{"name":"Anna","@id":"https:\/\/objectbox.io\/#\/schema\/person\/8cc3c75fd9f13ef83401661b7b44d322"},"headline":"Beginner C++ tutorial: ObjectBox installation","datePublished":"2021-10-26T12:00:49+00:00","dateModified":"2021-11-08T13:43:30+00:00","mainEntityOfPage":{"@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/"},"wordCount":634,"commentCount":0,"publisher":{"@id":"https:\/\/objectbox.io\/#organization"},"image":{"@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg","keywords":["C++","Edge Computing","edge database"],"articleSection":["Edge Database","Mobile Database","ObjectBox","Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/objectbox.io\/cpp-beginner-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/","url":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/","name":"Beginner C++ tutorial: ObjectBox installation","isPartOf":{"@id":"https:\/\/objectbox.io\/#website"},"primaryImageOfPage":{"@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg","datePublished":"2021-10-26T12:00:49+00:00","dateModified":"2021-11-08T13:43:30+00:00","description":"How to install and build ObjectBox source files on Windows, using a Linux subsystem and CMake \u2014 tutorial for a C++ beginner","breadcrumb":{"@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/objectbox.io\/cpp-beginner-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#primaryimage","url":"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg","contentUrl":"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/10\/featured-image.jpg","width":2000,"height":1158},{"@type":"BreadcrumbList","@id":"https:\/\/objectbox.io\/cpp-beginner-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"ObjectBox","item":"https:\/\/objectbox.io\/"},{"@type":"ListItem","position":2,"name":"Edge Database","item":"https:\/\/objectbox.io\/category\/edge-database\/"},{"@type":"ListItem","position":3,"name":"Beginner C++ tutorial: ObjectBox installation"}]},{"@type":"WebSite","@id":"https:\/\/objectbox.io\/#website","url":"https:\/\/objectbox.io\/","name":"ObjectBox","description":"Fast on-device database with Vector Search for Mobile, IoT &amp; other embedded devices","publisher":{"@id":"https:\/\/objectbox.io\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/objectbox.io\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/objectbox.io\/#organization","name":"ObjectBox","url":"https:\/\/objectbox.io\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/objectbox.io\/#\/schema\/logo\/image\/","url":"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/06\/objectbox-logo.png","contentUrl":"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/06\/objectbox-logo.png","width":559,"height":186,"caption":"ObjectBox"},"image":{"@id":"https:\/\/objectbox.io\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/objectboxTeam\/","https:\/\/x.com\/objectbox_io","https:\/\/www.instagram.com\/objectbox_io\/","https:\/\/www.linkedin.com\/company\/objectbox","https:\/\/www.youtube.com\/channel\/UCLs3F3Lhh8pjC66WZIopJ6Q"]},{"@type":"Person","@id":"https:\/\/objectbox.io\/#\/schema\/person\/8cc3c75fd9f13ef83401661b7b44d322","name":"Anna","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/objectbox.io\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8582cc77120ac438eb55a991575cb0f093f698b23e6f697ad171772045e45437?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8582cc77120ac438eb55a991575cb0f093f698b23e6f697ad171772045e45437?s=96&d=mm&r=g","caption":"Anna"},"sameAs":["https:\/\/x.com\/alyssa"],"url":"https:\/\/objectbox.io\/author\/anna\/"}]}},"_links":{"self":[{"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/posts\/223350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/comments?post=223350"}],"version-history":[{"count":14,"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/posts\/223350\/revisions"}],"predecessor-version":[{"id":223432,"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/posts\/223350\/revisions\/223432"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/media\/223376"}],"wp:attachment":[{"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/media?parent=223350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/categories?post=223350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/objectbox.io\/wp-json\/wp\/v2\/tags?post=223350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}