`

STLport 5.2.1 for ARM 交叉编译

阅读更多
OS       : Suse 10
Ver      : STLport-5.2.1
Compiler : GNU gcc 4.3.2 for ARM

1. 确保ARM编译成功安装,并配置好环境变量。
2. 解压STLport-5.2.1.tar.gz压缩包
3. 进入STLport-5.2.1目录,执行./configure --target=arm-linux
4. 修改stlport/stl/_cstdlib.h
     搜索宏定义 _STLP_NO_VENDOR_STDLIB_L 共2处,将这2处下的if !defined(__sun)分别修改为
     1处 #if !defined(__sun) && !defined(__arm__) && !defined(__sh__)
    2处 #if !defined (__sun) && !defined(__arm__) && !defined(__mips__) && !defined(__mipsel__) && !defined(__sh__)

5. 回到STLport-5.2.1目录, make下就大功告成。

注释:如不修改_cstdlib.h文件,会出现以下情况
make -C build/lib all;
make[1]: Entering directory `/home/STLport-5.2.1/build/lib'
arm-linux-c++ -pthread -fexceptions  -fPIC -O2  -fvisibility=hidden  -D_GNU_SOURCE -I../../stlport  -c -o obj/arm-linux-gcc/so/dll_main.o ../../src/dll_main.cpp
In file included from ../../stlport/stl/_alloc.h:35,
                 from ../../stlport/memory:29,
                 from ../../src/dll_main.cpp:41:
../../stlport/stl/_cstdlib.h:95: error: 'std::llabs' has not been declared
../../stlport/stl/_cstdlib.h:96: error: 'std::lldiv_t' has not been declared
../../stlport/stl/_cstdlib.h:97: error: 'std::lldiv' has not been declared
../../stlport/stl/_cstdlib.h: In function 'long long int abs(long long int)':
../../stlport/stl/_cstdlib.h:151: error: 'llabs' is not a member of 'std'
../../stlport/stl/_cstdlib.h: In function 'lldiv_t div(long long int, long long int)':
../../stlport/stl/_cstdlib.h:152: error: 'lldiv' is not a member of 'std'


该情况属于STLport在ARM平台自身存在的问题。请查询sourceforge。
分享到:
评论

相关推荐

    VC6下编译版STLport5.2.1

    在"VC6下编译版STLport5.2.1"中,你将获得以下文件: 1. `configure.bat` 和 `configure`:这是自动配置脚本,用于检测系统环境并生成适当的构建文件,通常是Makefile。 2. `INSTALL` 和 `INSTALL.unixes`:这些是...

    vc2010成功编译stlPort5.2.1和boost1.53.0的方法及使用中的问题、解决办法

    vc2010成功编译stlPort5.2.1和boost1.53.0的方法及使用中的问题、解决办法的知识点涵盖: 1. STLPort5.2.1编译问题及解决方法: - STLPort5.2.1在Visual Studio 2010环境下编译时,可能会遇到编译错误C2084,提示...

    stlport5.2.1

    4. 编译和链接STLport库到你的项目中。 5. 在源代码中包含必要的STL头文件,如`#include <stlport/stlport.h>`,以启用STLport的实现。 STLport还提供了一些额外的特性,比如`_STLP_DEBUG`宏,用于启用调试模式,...

    stlport 5.2.1

    在"stlport SGLSTL STL 源码剖析 侯捷 C++ 5.2.1"这本书中,作者侯捷深入探讨了STLport 5.2.1的内部工作原理。侯捷是中国知名的C++专家,他的著作通常深入浅出,帮助开发者理解复杂的编程概念。通过剖析源码,读者...

    STLport-5.2.1 for vc6.0

    STLport-5.2.1是该库的一个特定版本,针对Visual C++ 6.0进行了优化和兼容性调整。这个版本在当时是非常流行的,因为Visual C++ 6.0是许多开发者广泛使用的IDE。 STLport的主要目标是增强STL的功能,并确保其在不同...

    STLport-5.2.1已编译版

    总的来说,STLport-5.2.1是一个预编译好的、适用于MinGW环境的STL实现,它提供了高性能的STL组件,方便开发者在Windows平台上构建C++应用。通过理解其包含的库文件和头文件,以及如何在项目中正确使用,可以充分利用...

    STLport-5.2.1及安装方法

    STLport-5.2.1是这个项目的一个特定版本,发布于2009年,旨在增强STL的功能和兼容性。 STLport的主要目标是提高STL的性能和移植性,它对原始的SGI STL进行了优化,并且与多种编译器如Microsoft Visual C++、GCC等...

    VS2008+Boost 1_46_1+STLPort-5.2.1安装及使用配置手记

    - **编译完成**:编译完成后,会在`C:/STLport5.2.1`目录下生成`bin`和`lib`两个文件夹,其中包含了编译生成的所有动态链接库(`.dll`)和静态链接库(`.lib`)。 #### 二、Boost 1.46.1的安装与配置 ##### 1. ...

    stlport5.2.1的安装

    里面有一个文件,清楚的告诉你了,安装stlport的详细步骤。大家看了应该都会。 我花了一天的时间在弄号的。值得借鉴。 如还有不明白的可以qq联系我。 QQ:648933788

    stlport-5.2.1 编译好的dll文件

    STLPort-5.2.1是该库的一个特定版本,它包含了编译好的动态链接库(DLL)文件,供开发者在他们的应用程序中使用。下面将详细介绍这三个主要的DLL文件及其在编程中的作用。 1. **stlport.5.2.dll**:这是一个非调试...

    应经编译好的stlport-5.2.1

    应经编译好的stlport-5.2.1,在vs2008下配置网上搜索下吧(添加include和lib目录),文件是7z压缩的很小,放心使用

    VS2008+STLPort_5.2.1+Boost1_47_0的安装配置

    ### VS2008+STLPort_5.2.1+Boost1_47_0的安装配置 #### 一、安装与配置STLPort 5.2.1 **1. 下载并解压 STLPort** 首先,访问官方网站([http://www.stlport.org/](http://www.stlport.org/))下载 STLPort 的最新...

    Hugin编译所需文件 ( STLport-5.2.1.tar.gz )

    STLport-5.2.1.tar.gz 是一个用于Hugin编译的必备组件,它包含了一套标准模板库(STL)的实现,即STLport。STLport是一个开源项目,旨在提供一个跨平台、高效且兼容多种C++编译器的STL实现。在Hugin这个图像拼接软件...

    STLport-5.2.1

    STLport-5.2.1是该库的一个特定版本,发布于2004年,为开发者提供了与原始SGI STL兼容的功能,并且在性能和可移植性上做了优化。 STLport的主要知识点包括: 1. **模板类和函数**:STLport包含了各种模板类和函数...

    STLport V5.2.1

    这是STLport 的最新版V5.2.1,编译方式有些改动,具体方法请参考网上资料。

    C++的STL源代码(STLport-5.2.1_src)

    在"STLport-5.2.1_src"这个压缩包中,包含了STLport的源代码,这为我们深入理解STL的工作原理和实现细节提供了宝贵的学习资源。 1. **容器**:STL中的容器是数据结构的抽象,如vector、list、deque、set、map等。...

    STLPort for VC6

    在本案例中,“STLPort for VC6”指的是专为Microsoft Visual C++ 6.0(简称VC6)优化和编译的版本。VC6是一款经典的C++集成开发环境,尽管现在已经有些过时,但仍有用户在使用。STLPort的引入是为了增强VC6对C++...

Global site tag (gtag.js) - Google Analytics