stlport

win10 ndk hello_world

天涯浪子 提交于 2020-08-05 05:26:30
https://tieba.baidu.com/p/5213203060?red_tag=1988544260 用ndk编译用于安卓上运行的库hello_world.so. prerequisites: 1.安装好android-ndk-r12b或者其他版本,安装有android sdk 2.安装好MinGW与配件msys ndk msys 从网盘分享下载解压得hello_world.cpp、makefile两个文件 度盘1o7PIsAI密码g7dn 其中hello_world.cpp: #include <iostream> int main(int argc,char *argv[]) { for (int i=0;i<argc;i++) printf("argv[%d]=%s\n",i,argv[i]); return 0; } 是个回显命令行参数的简单程序。 配置makefile: 用notepad++打开,将其中的NDK_ROOT变量值改成你自己的ndk根路径。android SDK根目录变量PLATFROM_ROOT如是。 #makefile for hello_world NDK_ROOT=F:/COD/NVPACK/android-ndk-r12b TOOLCHAINS_ROOT=$(NDK_ROOT)/toolchains/arm-linux

[WTL] STLport安装指南

大憨熊 提交于 2020-03-04 10:07:22
STLport安装指南 STLport-4.6 是完全兼容ANSI C++标准的类库。 This distribution contains STLport sources only, no binaries. To use STLport iostreams, you have to build STLport library from sources in "src" directory and link your programs with it. 这个发布包仅仅包括STLport源代码马,不含二进制发布软件包。必须重新编译src目录下的代码才可以使用STLport iostreams类库。 This is major change since pre-4.0 releases, please read the instructions carefully. 这是自4.0版本发布以来的重要变更版本,请仔细的阅读下面的操作指南。 ==== Unpacking and installing STLport ========== 解包和安装STLport 1) Unpack STLport archive to a directory accessible during compilation. NOTE : DO NOT overwrite header files coming

Wince 5.0 using STLport void *operator new(size_t,void *)' already has a body

偶尔善良 提交于 2020-01-05 04:34:10
问题 I am doing a transform work from windows to wince. For using iostream I choose STLport5.2.1 . I get the compile error on vs2008 : am files (x86)\windows ce tools\wce500\athenapbws\mfc\include\wcealt.h(248) : error C2084: function 'void *operator new(size_t,void *)' already has a body 2> D:\Program Files (x86)\Windows CE Tools\wce500\AthenaPBWS\include\ARMV4I../Armv4i/new(71) : see previous definition of 'new' 2>d:\program files (x86)\windows ce tools\wce500\athenapbws\mfc\include\wcealt.h(254

Solution for missing std::wstring support in Android NDK?

人走茶凉 提交于 2019-12-30 09:30:17
问题 I have a game which uses std::wstring as its basic string type in thousand of places as well as doing operations with wchar_t and its functions: wcsicmp() wcslen() vsprintf(), etc. The problem is wstring is not supported in R5c (latest ndk at the time of this writting). I can't change the code to use std::string because of internationalization and I would be breaking the game engine which is used by many games ... Which options do I have? 1 - Replace string and wstring with my own string

Unable to build Boost with STLport library

北慕城南 提交于 2019-12-22 05:07:33
问题 I'm building boost 1.48.0 with STLport 5.2.1 on Windows using MSVC 7.1 and here is the command line I run: b2 toolset=msvc link=shared threading=multi runtime-link=shared variant=debug stdlib=stlport --layout=tagged stage My user-config.jam is setup like so: using msvc : 7.1 ; using stlport : 5.2.1 : C:/Code/third_party_source/STLport-5.2.1/stlport : C:/Code/third_party_source/STLport-5.2.1/lib ; I get several linker errors relating to STLport. One of them looks like this: path.obj : error

Unable to build Boost with STLport library

左心房为你撑大大i 提交于 2019-12-05 06:28:06
I'm building boost 1.48.0 with STLport 5.2.1 on Windows using MSVC 7.1 and here is the command line I run: b2 toolset=msvc link=shared threading=multi runtime-link=shared variant=debug stdlib=stlport --layout=tagged stage My user-config.jam is setup like so: using msvc : 7.1 ; using stlport : 5.2.1 : C:/Code/third_party_source/STLport-5.2.1/stlport : C:/Code/third_party_source/STLport-5.2.1/lib ; I get several linker errors relating to STLport. One of them looks like this: path.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall stlpd _std::basic_string

C++ STL编程轻松入门 2

北战南征 提交于 2019-12-03 19:04:33
1.3.3 STL和GP,GP和OOP   正如前面所提到的,在STL的背后蕴含着泛型化程序设计(GP)的思想,在这种思想里,大部分基本算法被抽象,被泛化,独立于与之对应的数据结构,用于以相同或相近的方式处理各种不同情形。这一思想和面向对象的程序设计思想(OOP)不尽相同,因为,在OOP中更注重的是对数据的抽象,即所谓抽象数据类型(Abstract Data Type),而算法则通常被附属于数据类型之中。几乎所有的事情都可以被看作类或者对象(即类的实例),通常,我们所看到的算法被作为成员函数(member function)包含在类(class)中,类和类则构成了错综复杂的继承体系。   尽管在象C++这样的程序设计语言中,你还可以用全局函数来表示算法,但是在类似于Java这样的纯面向对象的语言中,全局函数已经被"勒令禁止"了。因此,用Java来模拟GP思想是颇为困难的。如果你对前述的STL历史还有印象的话,应该记得Alexander Stepanove也曾用基于OOP的语言尝试过实现GP思想,但是效果并不好,包括没有引入模板之前的C++语言。站在巨人的肩膀上,我们可以得出这样的结论,在OOP中所体现的思想与GP的思想确实是相异的。C++并不是一种纯面向对象的程序设计语言,它的绝妙之处,就在于既满足了OOP,又成全了GP。对于后者,模板立下了汗马功劳。另外,需要指出的是

Linker errors in Android NDK (undefined reference to `__cxa_end_cleanup&#039;)

匿名 (未验证) 提交于 2019-12-03 02:50:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm getting this output after adding in a set of code from a colleague: ./obj/local/armeabi/objs/jniWrapper/native.o: In function `_Vector_base': D:/opt/android-ndk/sources/cxx-stl/stlport/stlport/stl/_vector.h:73: undefined reference to `__cxa_end_cleanup' ./obj/local/armeabi/objs/jniWrapper/native.o:(.ARM.extab.text._ZNSt6vectorIhSaIhEEC1ERKS1_[std::vector<unsigned char, std::allocator<unsigned char> >::vector(std::vector<unsigned char, std::allocator<unsigned char> > const&)]+0x0): undefined reference to `__gxx_personality_v0' ./obj/local

解决NDK出现error: exception handling disabled, use ...

限于喜欢 提交于 2019-12-02 18:54:35
本文出自: http://drovik.com/html/8410924155.html 问题来源: UDT的android平台移植过程中,在用NDK编译buffer.cpp文件时出现error: exception handling disabled, use -fexceptions to enable。 问题解决: 此问题的出现是编译器的异常异常捕获被禁用了,需要在Android.mk文件中开启。在Android.mk文件中添加: LOCAL_CPPFLAGS += -fexceptions就可以了。或者在Application.mk文件中添加APP_CPPFLAGS += -fexceptions 也是可以的。 补充: Android NDK r5对C++的支持情况 android平台提供了一个最小化的C++运行库(/system/lib/libstdc++)以及与之对应的头文件。 1、C++的异常支持: 从NDK r5就开始NDK的工具链就开始支持了C++的异常控制,只不过为了通用性的原因,所有的C++原文件被编译的时候都是默认的是-fno-exceptions,即不不支持异常控制的。 使用-fexceptions标记可以开启异常控制。所以你只需要在你的每个模块的Android.mk中添加LOCAL_CPPFLAGS += -fexceptions就可以了。 更简单的是

STLPort编译过程及出错解决

孤人 提交于 2019-12-02 18:52:26
stlport编译问题: 运行configure.bat msvc8 进入build/lib目录,运行nmake clean install 编译过程会报错,_cstdlib.h文件中abs重定义,注释掉那一行代码再重新build,文件路径stlport\stl\_cstdlib.h 使用生成后的库时,运行报错,vs输出框如下内容。 LdrpWalkImportDescriptor() failed to probe .. stlportd.5.2.dll for its manifest, ntstatus 0xc000000d 解决办法: 编译stlport时关掉清单文件即可,方法如下,在vc-common.mak的LINK后面添加/MANIFEST:NO即可 E:\work\STLport-5.2.1\build\Makefiles\nmake\vc-common.mak LINK_cc_REL = $(LINK) /nologo /incremental:no /debug /pdb:$(PDB_NAME_OUT) $(LDFLAGS_REL) /MANIFEST:NO LINK_cc_DBG = $(LINK) /nologo /incremental:no /debug /pdb:$(PDB_NAME_OUT_DBG) $(LDFLAGS_DBG) /MANIFEST