安装 C++ SDK
在此页面上
适用于 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 命名方式。
您可以使用带有 FetchContent 模块的 CMake 来管理C++项目中的 SDK 及其依赖项。
在项目根目录中创建或修改CMakeLists.txt
:
添加
Include(FetchContent)
以将 FetchContent 模块包含在项目构建中。使用
FetchContent_Declare
找到 SDK 依赖项并指定要使用的版本标签。使用
FetchContent_MakeAvailable()
命令检查命名的依赖项是否已填充,如果未填充,请填充这些依赖项。最后,
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 在代码中可用:
构建 Android 应用
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 App 在realm-cpp
Github 存储库中。
具体而言,请参阅 Android 示例应用中的MainActivity.kt
和native-lib.cpp
文件以获取代码示例。