-
Notifications
You must be signed in to change notification settings - Fork 1.4k
C++ 安装与兼容性
WCDB C++ 对于不同系统提供了不同安装方式。
- C++ 14 及以上
- Windows XP及以上
参考CMake安装教程下载安装:
参考Git官网下载安装
WCDB 包含了 sqlcipher 的子模块,因此也需对其进行更新。在命令行中执行:
git clone https://github.com/Tencent/wcdb.git
cd wcdb
git submodule update --init sqlcipher
在 WCDB 代码的tools/version
目录下,执行:
mkdir build
cd build
cmake ..
执行完之后可以在build文件夹下看到WCDB.sln
,这就是 Virtual Studio 的工程了,用Virtual Studio打开即可编译WCDB。WCDB 公开的头文件在同目录的export_headers
文件夹,编译生成的库文件也在当前目录下的Release或者Debug文件夹。
因为编译dll的检查机制更严格,而且模板比较难处理,现在WCDB只能编译成静态库,暂时不支持编译成dll。
- C++ 14 及以上
可参考 NDK和CMake官方安装教程进行安装
WCDB 包含了 sqlcipher 的子模块,因此也需对其进行更新。在命令行中执行:
git clone https://github.com/Tencent/wcdb.git
cd wcdb
git submodule update --init sqlcipher
在 WCDB 代码的tools/version
目录下,执行:
mkdir build
cd build
// 如果要编译 armeabi-v7a 架构就执行
cmake .. -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=21 -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DANDROID_NDK=/Path/To/NDK && cmake --build . -j8
// 如果要编译 arm64-v8a 架构就执行
cmake .. -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=21 -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a -DANDROID_NDK=/Path/To/NDK && cmake --build . -j8
执行完之后可以在build文件夹下看到libWCDB.so
,是可链接的二进制库文件,WCDB 公开的头文件在同目录的export_headers
文件夹。
- C++ 14 及以上
可以执行下面的命令安装,或者去CMake官网下载安装:
sudo apt install cmake
WCDB 包含了 sqlcipher 的子模块,因此也需对其进行更新。在命令行中执行:
git clone https://github.com/Tencent/wcdb.git
cd wcdb
git submodule update --init sqlcipher
在 WCDB 代码的tools/version
目录下,执行:
mkdir build
cd build
cmake .. && cmake --build . -j8
执行完之后可以在build文件夹下看到libWCDB.so
,是可链接的二进制库文件,WCDB 公开的头文件在同目录的export_headers
文件夹。
- C++ 14 及以上
- Xcode 12.0 及以上
- 系统要求
- iOS 11.0 及以上
- macOS 10.13 及以上
- tvOS 12.4 及以上
- watchOS 6.0 及以上
可参考 Cocoapods 官方教程进行安装。
在命令行中执行:
pod repo update
在工程目录下创建 podfile
文件,并在对应 target 下添加 pod 'WCDB.cpp'
和 use_frameworks!
。以下是一份示例 podfile
文件:
platform :ios, '13.0'
use_frameworks!
target 'Sample' do
pod 'WCDB.cpp'
end
然后在 podfile
同目录下命令行执行:
pod install --verbose
在项目中使用 Cocoapods 生成的 .xcworkspace
文件打开工程,并在需要使用 WCDB 的源代码文件头通过 #import <WCDBCpp/WCDBCpp.h>
引入即可。由于WCDB是基于Objective-C++,因此需要将引用WCDB的源文件后缀.m
改为.mm
。
可参考 Carthage 官方教程进行安装。
在工程目录下创建 cartfile
文件,并添加 github "Tencent/WCDB"
。以下是一份示例 cartfile
文件:
github "Tencent/WCDB"
在工程目录命令行执行:
carthage update --use-xcframeworks
对于不需要 bitcode 的开发者,可以指定
--configuration WithoutBitcode
,以降低二进制的包大小。
完成后可以在 Carthage/Build
目录下找到生成的对应 iOS 或 macOS 平台动态库 WCDBCpp.xcframework
打开工程,并将对应 iOS 或 macOS 平台的动态库,拖入工程设置的 General
-> Frameworks, Libraries, and Embedded Content
中。
以下是一份 iOS 平台工程的配置示例:
需要使用 WCDB C++的源代码文件头通过 #import <WCDBCpp/WCDBCpp.h>
引入即可。由于WCDB是基于Objective-C++,因此需要将引用WCDB的源文件后缀.m
改为.mm
。
WCDB 包含了 sqlcipher 的子模块,因此也需对其进行更新。在命令行中执行:
git clone https://github.com/Tencent/wcdb.git
cd wcdb
git submodule update --init sqlcipher
将 wcdb/src
目录下的 WCDB.xcodeproj
拖入你的工程文件中,并在工程配置的 Build Phases
-> Target Dependencies
中添加 WCDBCpp
在 Build Phases
-> Link Binary With Librarires
中添加WCDBCpp
。再在 Build Phases
中,选择 +
选项,在弹出菜单中选择 New Copy Files Phase
。然后将Destination
设置为Frameworks
,然后添加WCDBCpp
。
以下是一个完成链入的配置示例:
需要使用 WCDB C++的源代码文件头通过 #import <WCDBCpp/WCDBCpp.h>
引入即可。由于WCDB是基于Objective-C++,因此需要将引用WCDB的源文件后缀.m
改为.mm
。
- 欢迎使用 WCDB
- 基础教程
- 进阶教程
- 欢迎使用 WCDB
- 基础教程
- 进阶教程
- 欢迎使用 WCDB
- 基础教程
- 进阶教程
- 欢迎使用 WCDB
- 基础教程
- 进阶教程