1. 程式人生 > >編譯boost for android經歷

編譯boost for android經歷

主要借用這篇部落格的方法http://blog.csdn.net/lovesh5/article/details/11694941

我第一次編譯的編譯平臺是MACOSX.

1.boost庫1.49(這個是之前別人編過一次的boost庫,好幾個G,忘了在什麼平臺上編的了,應該是MACOSX. )

2.ndk版本:android-ndk-r8b

編出來好多錯誤,生成的庫缺幾個,比如filesystem,thread。

先檢查原因,原因先是我手動改了androidPlatform但是改錯了。改好後,還有錯,因為文中提到用的是r9的庫,我下了個r9b的換了下,錯誤減少了不少,但是還有。

最後提示error: fatal error: sys/statvfs.h: No such file or directory,這時候需要到的庫只剩下filesystem這個庫沒有了

按一篇文中提到的方法改了boost的一個檔案就好了:

Android doesn't have sys/statvfs.h. instead sys/vfs.h should be used.

possible fix (libs/filesystem/src/operations.cpp):

#   if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__ANDROID__)
#     include <sys/statvfs.h>
#     define BOOST_STATVFS statvfs
#     define BOOST_STATVFS_F_FRSIZE vfs.f_frsize
#   else
#     ifdef __ANDROID__
#     include <sys/vfs.h>
#     endif
#     ifdef __OpenBSD__
#     include <sys/param.h>
#     endif
#     include <sys/mount.h>
#     define BOOST_STATVFS statfs
#     define BOOST_STATVFS_F_FRSIZE static_cast<boost::uintmax_t>(vfs.f_bsize)
#   endif

注:

1.期間走了不少彎路,主要是因為按提示的錯誤查資料,查到的都解決不了問題。嚴格按照上文的環境,之前提示的錯誤很多會消失掉。只有filesystem需要改些東西。

2.另外附上我的第三部的命令./b2 toolset=gcc-android4.6 link=static threading=multi runtime-link=static target-os=linux --stagedir=android

3.現在還有個暫時不需要的庫:atomic庫沒有編出來,求指導。。。

相關推薦

編譯boost for android經歷

主要借用這篇部落格的方法http://blog.csdn.net/lovesh5/article/details/11694941 我第一次編譯的編譯平臺是MACOSX. 1.boost庫1.49(這個是之前別人編過一次的boost庫,好幾個G,忘了在什麼平臺上編的了,應該

NDk編譯opencv for Android,並引用在Unity3d遊戲中的一般步驟

ret app sset cpp unity3d 環境 ptr small var 本文使用:Unity3d + opencv + Android Unity3d中可以調用opencv 編譯好的.so 動態庫,在生成Android apk時可以正常運行。 因為An

使用 jenkins 自動化編譯cordova for android 生成 APK

apk app 開發 啟動 安卓 自動 class 系統 編寫 地址 引言 前文中已經介紹了什麽是cordova 為什麽要用cordova,基礎的環境搭建以及如何編譯打包生成APK安裝包,接下來我們介紹如何使用Jenkins 自動化編譯打包生成APK安裝包! 服務器搭建

Linux系統下編譯VLC for Android

操作步驟: 1、下載最新版本的Linux版jdk,將下載好的檔案解壓到/usr/android目錄下 tar zxvf jdk-10.0.2_linux-x64_bin.tar.gz 2、設定環境變數 使用sudo vi /etc/profile命令編輯環境

Mac下編譯OpenH264 for android

簡介 OpenH264 是思科的開源專案,可以編碼解碼H264,常見的H264編碼器還有x264專案。 由於OpenH264專案的文件較少,初學的門檻較高,所以整理一些文章來幫忙初學者入門。 系列文章包括: 編譯OpenH264 for Window

windows10下編譯ffmpeg for android

本文記錄在windows10下編譯ffmpeg的過程: 環境:win10  ffmpeg-3.3 ndk-r14b 注意:一般來說低版本ndk編譯的能在高版本使用,但高版本ndk編譯的無法在低版本使用,因為NDK平臺不是後向相容的,而是前向相容的,因此請根據實際情況選擇

Linux下編譯VLC for Android原始碼總結

由於專案需要,需要一個在android平臺能夠支援RTSP協議的播放器,由於之前沒有android平臺的經驗,所以找了著名的video LAN的VLC播放器,更令人驚奇的是這款播放器居然還是完全開源的。在此向那些開源軟體的作者和組織致以崇高的敬意,是你們的存在使得計算機軟

交叉編譯e2fsprogs For android

由於需要使用dumpe2fs debugfs工具,因此交叉編譯了e2fsprogs的原始碼。本人在ubuntu 14.04下操作的1. 下載e2fsprogs的原始碼版本是1.42.6   2.  下載NDKhttps://developer.android.com/ndk/

編譯boostAndroid平臺

在\tools\build\src新建檔案 user-config.jam 檔案內容如下 import os ; androidNDKRoot = D:/android_dev/android-ndk-r10c ; using gcc : an

(Not OK) 在CentOS7—編譯nginx—forAndroid

HOST: centos 7 NGINX VERSION: nginx-1.9.7 ZLIB VERSION: zlib-1.2.8 PCRE VERSION: pcre-8.37 [[email protected] nginx-on-android]# pwd /opt/cBPM-android

Ubuntu上交叉編譯valgrind for Android 4.0.4的過程與注意事項

編譯環境:Ubuntu x86_64(Linux root 2.6.32-45-generic #101-Ubuntu SMP Mon Dec 3 15:39:38 UTC 2012 x86_64 GNU/Linux) 執行環境:Android 4.0.4 (Linux

ubuntu16.04編譯opencv for Android

安裝cmake 參考這篇部落格ubuntu安裝CMake的幾種方式中的軟連結Android Sdk中的CMake 下載opencv原始碼 編譯opencv原始碼 進入原始碼目錄新建一個opencvAndroid.sh指令碼檔案,內容如下

win10子系統編譯ffmpeg for android遇到的問題記錄

makefile:2: ffbuild/config.mak: no such file or directory 還有一些其他自動生成的檔案都找不到 解決方案 首先只執行./configure + 引數(注意不要有–list-等會執行相關命令的引數之類的

加快QT工程編譯速度(還可給Qt for Android設置)

qmake targe 沒有 利用 tools too blank tab 這樣的 一、多核編譯 環境:win10, Qt 5.4.1,編譯器mingw32 項目: Qt for Android Qt Creator 在編譯android項目時不支持預編譯,默認cpu

OSG for android編譯總結

display article 原因 mat cygwin 動態鏈接 cep evel arr 最近對OSG進行了android下的編譯。簡單總結一下: 0.介紹下環境:WIN7 64位 + cygwin32位 + OSG3.2.0 1.首先介紹幾篇博文,參考了不少,但並沒

Mac下編譯JRTPLIB原始碼 For Android

一.工欲善其事必先利其器: 1.官網下載Jthread和Jrtplib 2.通過 "brew install ninja" 命令安裝ninja 二.解壓下載的Jthread與Jrtplib壓縮包並參考GitHub的文件編寫cmake檔案: 1.在Jthread解壓出的目錄下建立toolcha

下載並編譯Chrome瀏覽器For Android

最近因為公司專案,需要對Chrome的某一模組進行修改後,相容公司的Android裝置,現記錄下Chrome的原始碼下載過程,作為筆記。 1. 準備Ubuntu系統,最好是物理機上安裝,因為Chrome首次編譯耗時較長,對硬體要求較高。我使用的Ubuntu版本為14.04.1。 2. 下載C

Qt for Android gradle編譯同時輸出多個渠道apk

前言 Gradle是Android目前主流的編譯工具,Gradle剛出來的時候確實有很多詬病,比如編譯速度,那真是一個慢啊,不過隨著版本的更新,現在的gradle可比當年牛逼多了,功能也越來越完善,畢竟是谷歌的親兒子。那麼在用Qt 做android開發時候,也是預設使用Gradle來

android-ndk-r16b編譯OpenSSL for ARM32

android-ndk-r16b編譯OpenSSL for ARM32 CentOS7安裝ndk-r16b 安裝dos2unix 下載openssl原始碼 修改 setenv-android.sh配置 設定環境變數 注意啦! 配置編譯

Cygwin環境下使用Android NDK r8e編譯boost 1.53

這裡不能不說Google確實搜了1天都沒解決問題, baidu第一個就解決了... cygwin參考這裡 簡單的說 1.下載cygwin的網路安裝包(第一次安裝只能這樣) 2. 選擇靠前一點的網站進行下載( 下好的包可以留著, 下次安裝直接從資料夾中選擇就可以安裝) cygwin下使用NDK編譯boo