Docs 菜单
Docs 主页
/ /
Atlas Device SDKs

安装 C++ SDK

在此页面上

  • 要求
  • 安装
  • 使用
  • 构建 Android 应用

适用于 C++ 的 Atlas Device SDK 使用 C++ 编写的客户端应用程序能够访问存储在设备上的数据并与 Atlas 同步数据。 本页详细介绍了如何在项目中安装 C++ SDK 并开始使用。

  • 最低 C++ 标准:C++17。

  • 对于 macOS 上的开发:Xcode 11.x 或更高版本。

  • 对于 Windows 上的开发:Microsoft Visual C++ (MSVC)。

  • 否则,我们建议使用 git 和 CMake

提示

Atlas Device SDK 和 Realm

SDK 使用 Realm Core 数据库实现设备数据持久化。 安装 C++ SDK 时,包名称会反映 Realm 命名方式。

使用 Xcode 进行开发时,可以使用 Swift Package Manager (SPM) 来安装 realm-cpp。

1

在 Xcode 中,选择 File > Add Packages...

2

将以下内容复制并粘贴到搜索/输入框中。

https://github.com/realm/realm-cpp
3

Package Product下,选择realm-cpp-sdk 。 在Add to Target下,选择要添加 SDK 的目标。 示例,目标可能是应用的主可执行文件。 单击Add Package

您可以使用带有 FetchContent 模块的 CMake 来管理C++项目中的 SDK 及其依赖项。

在项目根目录中创建或修改CMakeLists.txt

  1. 添加Include(FetchContent)以将 FetchContent 模块包含在项目构建中。

  2. 使用FetchContent_Declare找到 SDK 依赖项并指定要使用的版本标签。

  3. 使用FetchContent_MakeAvailable()命令检查命名的依赖项是否已填充,如果未填充,请填充这些依赖项。

  4. 最后, target_link_libraries()将 SDK 依赖项链接到目标可执行文件。

要获取最新版本标签,请参阅Github 上的版本: realm/realm-cpp。

使用 将最低C++标准设置为17 。set(CMAKE_CXX_STANDARD 17)

在Windows安装中,添加下面列出的所需编译器标志。

cmake_minimum_required(VERSION 3.15)
project(MyDeviceSDKCppProject)
# Minimum C++ standard
set(CMAKE_CXX_STANDARD 17)
# In a Windows install, set these compiler flags:
if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:preprocessor /bigobj")
endif()
# Include the FetchContent module so you can download the C++ SDK
Include(FetchContent)
# Declare the version of the C++ SDK you want to download
FetchContent_Declare(
cpprealm
GIT_REPOSITORY https://github.com/realm/realm-cpp.git
GIT_TAG v1.0.0
)
# The MakeAvailable command ensures the named dependencies have been populated
FetchContent_MakeAvailable(cpprealm)
# Create an executable target called myApp with the source file main.cpp
add_executable(myApp main.cpp)
target_link_libraries(myApp PRIVATE cpprealm)

在 gitignored目录(例如build )中运行 CMake 以生成构建配置,然后使用该配置来编译应用:

# build/ is in .gitignore
mkdir build
cd build
cmake .. # Create Makefile by reading the CMakeLists.txt in the parent directory (../)
make # Actually build the app

通过使用-G标志,CMake 不仅仅可以生成简单的 Makefile。 请参阅 CMake 文档 以了解更多信息。

通过在要使用 C++ SDK 的翻译单元中包含cpprealm/sdk.hpp标头,使 C++ SDK 在代码中可用:

#include <cpprealm/sdk.hpp>

C++ SDK 支持构建 Android 应用。 要构建 Android 应用,请执行以下操作:

  • <uses-permission android:name="android.permission.INTERNET" />添加到您的AndroidManifest.xml

  • 将 C++ SDK 的子目录添加到原生库的CMakeLists.txt并将其链接为目标库:

    set(CMAKE_CXX_STANDARD 17)
    add_subdirectory("realm-cpp")
    ...
    target_link_libraries(
    # Specifies the target library.
    myapplication
    # make sure to link the C++ SDK.
    cpprealm
    )
  • 在构建之前,确保 git 子模块已在realm-cpp文件夹内初始化。

  • 实例化数据库或 SDK 应用时,必须在相应构造函数或数据库打开模板中将filesDir.path作为path参数传递。

C++ SDK有关如何在 Android应用中使用 的示例,请参阅 Android RealmExample Apprealm-cppGithub 存储库中。

具体而言,请参阅 Android 示例应用中的MainActivity.ktnative-lib.cpp文件以获取代码示例。

来年

欢迎使用 Atlas Device SDK 文档