原来在linux开发的时候,没遇到各种诡异问题,现在用windows开发各种诡异问题都出来了。
总的来说在windows编译boost的ndk版本还是比较容易的
1、下载github上的Boost-for-Android,地址为
https://github.com/moritz-wundke/Boost-for-Android
。
2、
修改Boost-for-Android的脚本build-android.sh
因为原来的地址国内下载不到,所以将
将
BOOST_DOWNLOAD_LINK="http://downloads.sourceforge.net/project/boost/boost/$BOOST_VER1.$BOOST_VER2.$BOOST_VER3/boost_${BOOST_VER1}_${BOOST_VER2}_${BOOST_VER3}.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2F${BOOST_VER1}.${BOOST_VER2}.${BOOST_VER3}%2F&ts=1291326673&use_mirror=garr"
BOOST_DOWNLOAD_LINK="https://dl.bintray.com/boostorg/release/$BOOST_VER1.$BOOST_VER2.$BOOST_VER3/source/boost_${BOOST_VER1}_${BOOST_VER2}_${BOOST_VER3}.tar.bz2"
后面的路径根据自己的需要修改
2、为了适应windows的ndk将
if [ ! -f "$AndroidNDKRoot/ndk-build" ]; then
if [ ! -f "$AndroidNDKRoot/ndk-build.cmd" ]; then
3、为了支持ndk15的版本将
"16.0"|"16.1"|"17.1"|"17.2"|"18.0"|"18.1")
"15.2"|"16.0"|"16.1"|"17.1"|"17.2"|"18.0"|"18.1")
4、运行脚本
./build-android.sh D:/AndroidNdk/android-ndk-r15c
后面跟着的是ndk的地址,需要根据个人情况修改
输出参考结果为
To follow build in another terminal, please use: tail -F /cygdrive/d/code/boost_1_70_0_arm/Boost-for-Android/logs/myst-log-31425.log
Building boost version: 1.69.0
Detected Android NDK version 15.2
Building with TOOLSET=clang CONFIG_VARIANT=boost CXXPATH=/cygdrive/d/AndroidNdk/android-ndk-r15c/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ CFLAGS= CXXFLAGS=
Downloading boost 1.69.0 please wait...
--2019-05-13 00:22:04-- https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.bz2
正在解析主机 dl.bintray.com (dl.bintray.com)... 52.33.29.192, 52.37.112.198
正在连接 dl.bintray.com (dl.bintray.com)|52.33.29.192|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302
位置:https://d29vzk4ow07wi7.cloudfront.net/8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406?response-content-disposition=attachment%3Bfilename%3D%22boost_1_69_0.tar.bz2%22&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHAqOi8vZDI5dnprNG93MDd3aTcuY2xvdWRmcm9udC5uZXQvOGYzMmQ0NjE3MzkwZDFjMmQxNmYyNmEyN2FiNjBkOTc4MDdiMzU0NDBkNDU4OTFmYTM0MGZjMjY0OGIwNDQwNj9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0JmaWxlbmFtZSUzRCUyMmJvb3N0XzFfNjlfMC50YXIuYnoyJTIyIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNTU3Njc4ODU2fSwiSXBBZGRyZXNzIjp7IkFXUzpTb3VyY2VJcCI6IjAuMC4wLjAvMCJ9fX1dfQ__&Signature=nUjjjNrdzgGxiGwzzjaP4L9oYXQn1fw0zP-quIIDOW6vAfvHE1up98jkHNkDZhcliR46d5wuIHcC3BsbQpCm8qOkylOBV5xXZTuYwa8yyj6ErTTmxklpLojOUs1N0QkJ1XnM~7p2CZVtnNoGbZpBQMxr2Zbrcfd4Nw1PiOH9k5esWHLdcZ3uO0rpYIcesFlHCbW1Sn4b99xcLyzQy7vUGdHW7yE2Mqe4WRe7aW~lvdRl7P8hVanHXlVSfUAxoq1DrnipMGRa5uerGA4-~YBjLTIcFOAzOZyziRla6V9rTaN9Mu-ZqF2S63RPAVQlgJiQIoWVe9CCCVSgfn84yJ6wfg__&Key-Pair-Id=APKAIFKFWOMXM2UMTSFA [跟随至新的 URL]
--2019-05-13 00:22:14-- https://d29vzk4ow07wi7.cloudfront.net/8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406?response-content-disposition=attachment%3Bfilename%3D%22boost_1_69_0.tar.bz2%22&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHAqOi8vZDI5dnprNG93MDd3aTcuY2xvdWRmcm9udC5uZXQvOGYzMmQ0NjE3MzkwZDFjMmQxNmYyNmEyN2FiNjBkOTc4MDdiMzU0NDBkNDU4OTFmYTM0MGZjMjY0OGIwNDQwNj9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0JmaWxlbmFtZSUzRCUyMmJvb3N0XzFfNjlfMC50YXIuYnoyJTIyIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNTU3Njc4ODU2fSwiSXBBZGRyZXNzIjp7IkFXUzpTb3VyY2VJcCI6IjAuMC4wLjAvMCJ9fX1dfQ__&Signature=nUjjjNrdzgGxiGwzzjaP4L9oYXQn1fw0zP-quIIDOW6vAfvHE1up98jkHNkDZhcliR46d5wuIHcC3BsbQpCm8qOkylOBV5xXZTuYwa8yyj6ErTTmxklpLojOUs1N0QkJ1XnM~7p2CZVtnNoGbZpBQMxr2Zbrcfd4Nw1PiOH9k5esWHLdcZ3uO0rpYIcesFlHCbW1Sn4b99xcLyzQy7vUGdHW7yE2Mqe4WRe7aW~lvdRl7P8hVanHXlVSfUAxoq1DrnipMGRa5uerGA4-~YBjLTIcFOAzOZyziRla6V9rTaN9Mu-ZqF2S63RPAVQlgJiQIoWVe9CCCVSgfn84yJ6wfg__&Key-Pair-Id=APKAIFKFWOMXM2UMTSFA
正在解析主机 d29vzk4ow07wi7.cloudfront.net (d29vzk4ow07wi7.cloudfront.net)... 99.84.231.93, 99.84.231.174, 99.84.231.76, ...
正在连接 d29vzk4ow07wi7.cloudfront.net (d29vzk4ow07wi7.cloudfront.net)|99.84.231.93|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:95078138 (91M) [application/x-bzip2]
正在保存至: “/cygdrive/d/code/boost_1_70_0_arm/Boost-for-Android/boost_1_69_0.tar.bz2”
0K .......... .......... .......... .......... .......... 0% 69.5K 22m15s
50K .......... .......... .......... .......... .......... 0% 1.18M 11m46s
100K .......... .......... .......... .......... .......... 0% 242K 9m58s
150K .......... .......... .......... .......... .......... 0% 722K 8m0s
200K .......... .......... .......... .......... .......... 0% 622K 6m54s
250K .......... .......... .......... .......... .......... 0% 143K 7m33s
300K .......... .......... .......... .......... .......... 0% 40.4M 6m28s
350K .......... .......... .......... .......... .......... 0% 122K 7m14s
400K .......... .......... .......... .......... .......... 0% 42.6M 6m26s
450K .......... .......... .......... .......... .......... 0% 44.7M 5m47s
500K .......... .......... .......... .......... .......... 0% 88.8K 6m50s
550K .......... .......... .......... .......... .......... 0% 39.0M 6m16s
600K .......... .......... .......... .......... .......... 0% 184K 6m25s
BOOST在windows平台上进行android编译--霜之小刀前言环境步骤欢迎转载和引用若有问题请联系请联系Email : lihn1011@163.comQQ:2279557541前言原来在linux开发的时候,没遇到各种诡异问题,现在用windows开发各种诡异问题都出来了。总的来说在windows编译boost的ndk版本还是比较容易的环境cygwin装了dev...
直流变换器分为并联直流变换器和非并联直流变换器两种。并联直流变换器采用先进的高频脉宽调制边缘谐振技术,使效率得到了极大提高。整机具有稳压精度高、动态响应快、输出杂音低、抗干扰能力强、工作温度范围宽等特点。面板上的中文液晶可显示本电源模块的工作状态,也可直观显示电压电流等数据;模块的各种保护功能齐全;模块内置均充、浮充切换电路,并可选择手动或自动控制。监控接口可监测模块工作状态,可进行开关机控制,均浮充控制,并配有自动均流总线接口,均充总线接口。智能机型配有RS485接口,可与配套监控模块、PC机、PLD等其它智能设备连接,完成远端监控,实现电源系统四遥功能。本文以Buck-Boost直流变换器
在Android平台使用boost库,没有linux平台上那么方便。
尤其在新版本ndk,高通的车机项目,网上的boost_for_android不一定适用。
本人在移植安卓vsomeip版本时,采用以下方法 (部分boost库析构需要添加virtual)
步骤1: 克隆出boost
不同于直接拉取整个boost仓库,这里采用拉取小仓库
$ mkdir boost-1.70.0
$ cd boost-1.70.0/
$ vi get_boost.sh
下载ndk10e:地址
下载boost库:boost_1_69_0.zip
将“android-ndk-r10e-windows-x86.zip”和“boost_1_69_0.zip”解压到G盘根目录,得:“G:\boost_1_69_0\”和"G:\android-ndk-r10e"
成功编译的步骤
运行"G:\boost_1_69_0\bo...
git clone https://github.com/moritz-wundke/Boost-for-Android.git
2、切到Boost项目内,修改build-android.sh
其中的下载链接可能已经失效,我们将其替换为可下载的版本链接
需要替换的内容:
http://dl.bintray.com/boostorg/release/$BOOST_VER1.$BOOST_VER2.$BOOST_VER3/sou
boost源码版本 1.72.0
编译环境:centos 7.5 , ndk r21b
测试环境:window10,
Android studio 4.1, AGP 4.1, Gradle 6.6.1
包含34个独立
编译库的动态和静态版本。
有个android项目上需要使用到boost标准c++库,Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一,所以想将其移植到android系统上进行编译。
直接从网上下载 boost1.52版本,然后写makefile。。。进行编译,,碰到无数的编译错误。求助于google网络,终于发现一个好东东:
一个通过NDK编译boost代码的git项
2. 下载 exiv2 库的源代码,并解压到您的本地目录中。
3. 打开 Visual Studio,选择“文件”->“新建”->“项目”,在“新建项目”对话框中选择“Visual C++”->“空项目”,并设置项目名称和路径。
4. 在“解决方案资源管理器”中,右键单击项目名称,选择“属性”,在“属性页”中选择“VC++目录”,并添加 exiv2 库的头文件路径和库文件路径。
5. 在“属性页”中选择“C/C++”->“常规”,并添加以下预处理器定义:
EXV_UNICODE, EXV_HAVE_
BOOST, EXV_HAVE_XMP, EXV_HAVE_VIDEO, EXV_HAVE_WEBP
6. 在“属性页”中选择“链接器”->“输入”,并添加以下附加依赖项:
exiv2.lib, zlib.lib, libexpat.lib, libiconv.lib, libxml2.lib, libxslt.lib, ws2_32.lib
7. 在“属性页”中选择“链接器”->“系统”,并设置“子系统”为“控制台”。
8. 在“解决方案资源管理器”中,右键单击项目名称,选择“添加”->“现有项”,并添加 exiv2 库的源代码文件。
9.
编译并运行您的项目,如果一切顺利,您应该能够成功
编译 exiv2 库。
希望这些步骤能够帮助您成功
编译 exiv2 库在
Windows 中。