博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
arm交叉编译器编译boost库并调用
阅读量:6640 次
发布时间:2019-06-25

本文共 984 字,大约阅读时间需要 3 分钟。

hot3.png

环境:ubuntu12.04 arm9 arm-none-linux-gnueabi-g++

安装:

1. 确保ARM编译成功安装,并配置好环境变量。  

2. 解压boost压缩包  
3. 进入目录执行./bootstrap.sh, 此时形成bjam文件和project-config.jam  
4. 编辑project-config.jam, 仅修改using gcc这行。因为我使用的是arm-none-linux-gnueabi-g++,所以将其改以下即可:  
     using gcc : arm  : arm-none-linux-gnueabi-g++;  (注意空格) 
5. 执行./bjam 或者  ./bjam stage --layout=tagged --build-type=complete  (好像是后者生成的库文件更多) 
6. 形成的静态和动态库文件就在stage目录下.

调用:

test.cpp

#include <boost/thread.hpp> 

#include <iostream> 
void wait(int seconds) 
boost::this_thread::sleep(boost::posix_time::seconds(seconds)); 
void thread() 
for (int i = 0; i < 5; ++i) 
wait(1); 
std::cout << i << std::endl; 
int main() 
boost::thread t(thread); 
t.join(); 
}

 

编译命令: arm-none-linux-gnueabi-g++ test.cpp -o test1  -I./ -L./stage/lib -lboost_thread  (当前目录就是boost的目录)

 

问题:编译成功后,将2进制文件放到arm上执行,会出现Inconsistency detected by ld.so: dl-deps.c: 622: _dl_map_object_deps: Assertion `nlist > 1' failed!这事提示版本问题,应该是使用的boost库版本太低了。

转载于:https://my.oschina.net/hanshubo/blog/790137

你可能感兴趣的文章
ICE专题:JDBC桥接器
查看>>
使用GMail发邮件
查看>>
IntelliJ IDEA 运行你的第一个Java应用程序
查看>>
Sublime text3 Emmet使用
查看>>
[JavaScript]牛人的JS是怎么玩的
查看>>
What the key facts to choose Row Store and Column Store
查看>>
学习oracle中的PCTFREE和PCTUSED
查看>>
HTML5特性速记图
查看>>
RabbitMQ~开篇与环境部署
查看>>
Angular 4 组件的生命周期
查看>>
EntityFramework用法探索(五)引入Unity
查看>>
在sql server2000的查询分析器里查询oracle的数据
查看>>
Console-算法[for,if]-编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,
查看>>
Android 圆形背景shape定义
查看>>
oracle date 和 timestamp区别
查看>>
[LintCode] O(1)检测2的幂次
查看>>
3.15. XML
查看>>
设计模式——单例模式
查看>>
工业4.0时代,怎样为孩子筹备未来的教育?
查看>>
Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
查看>>