POCO C++库在Android 平台上集成(2)
来源:互联网 发布:知茵女装网上有卖吗 编辑:程序博客网 时间:2024/05/17 22:19
转载请注明原创地址:http://blog.csdn.net/iflychenyang/article/details/8534341
很不幸,mac os上编译出来的poco静态库,集成编译时出现错误,提示找不到头文件(ndk-build error: string: No such file or directory),应该是标准库没有编译好,今天通过直接编写android.mk文件重新编译了下,目前可以编译Foundation库,先把脚本放到这里,供后续查看。
POCO编译相关脚本:
## Android.mk## POCO Foundation## create by: yangchen (陈阳)#LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := PocoFoundationLOCAL_CFLAGS := -DPOCO_ANDROID -DPOCO_NO_FPENVIRONMENT -DPOCO_NO_WSTRING -DPOCO_NO_SHAREDMEMORYLOCAL_CPPFLAGS := -frtti -fexceptionsLOCAL_C_INCLUDES := $(LOCAL_PATH)/include \$(LOCAL_PATH)/src \LOCAL_SRC_FILES := \ src/AbstractObserver.cpp \ src/ActiveDispatcher.cpp \ src/adler32.c \ src/ArchiveStrategy.cpp \ src/Ascii.cpp \ src/ASCIIEncoding.cpp \ src/AsyncChannel.cpp \ src/AtomicCounter.cpp \ src/Base64Decoder.cpp \ src/Base64Encoder.cpp \ src/BinaryReader.cpp \ src/BinaryWriter.cpp \ src/Bugcheck.cpp \ src/ByteOrder.cpp \ src/Channel.cpp \ src/Checksum.cpp \ src/compress.c \ src/Condition.cpp \ src/Configurable.cpp \ src/ConsoleChannel.cpp \ src/CountingStream.cpp \ src/crc32.c \ src/DateTime.cpp \ src/DateTimeFormat.cpp \ src/DateTimeFormatter.cpp \ src/DateTimeParser.cpp \ src/Debugger.cpp \ src/deflate.c \ src/DeflatingStream.cpp \ src/DigestEngine.cpp \ src/DigestStream.cpp \ src/DirectoryIterator.cpp \ src/DynamicAny.cpp \ src/DynamicAnyHolder.cpp \ src/Environment.cpp \ src/ErrorHandler.cpp \ src/Event.cpp \ src/EventArgs.cpp \ src/Exception.cpp \ src/File.cpp \ src/FileChannel.cpp \ src/FileStream.cpp \ src/FileStreamFactory.cpp \ src/Format.cpp \ src/Formatter.cpp \ src/FormattingChannel.cpp \ src/Glob.cpp \ src/Hash.cpp \ src/HashStatistic.cpp \ src/HexBinaryDecoder.cpp \ src/HexBinaryEncoder.cpp \ src/infback.c \ src/inffast.c \ src/inflate.c \ src/InflatingStream.cpp \ src/inftrees.c \ src/Latin1Encoding.cpp \ src/Latin9Encoding.cpp \ src/LineEndingConverter.cpp \ src/LocalDateTime.cpp \ src/LogFile.cpp \ src/Logger.cpp \ src/LoggingFactory.cpp \ src/LoggingRegistry.cpp \ src/LogStream.cpp \ src/Manifest.cpp \ src/MD4Engine.cpp \ src/MD5Engine.cpp \ src/MemoryPool.cpp \ src/MemoryStream.cpp \ src/Message.cpp \ src/Mutex.cpp \ src/NestedDiagnosticContext.cpp \ src/Notification.cpp \ src/NotificationCenter.cpp \ src/NotificationQueue.cpp \ src/NullChannel.cpp \ src/NullStream.cpp \ src/NumberFormatter.cpp \ src/NumberParser.cpp \ src/Path.cpp \ src/PatternFormatter.cpp \ src/pcre_chartables.c \ src/pcre_compile.c \ src/pcre_exec.c \ src/pcre_fullinfo.c \ src/pcre_globals.c \ src/pcre_maketables.c \ src/pcre_newline.c \ src/pcre_ord2utf8.c \ src/pcre_study.c \ src/pcre_tables.c \ src/pcre_try_flipped.c \ src/pcre_ucd.c \ src/pcre_valid_utf8.c \ src/pcre_xclass.c \ src/Pipe.cpp \ src/PipeImpl.cpp \ src/PipeStream.cpp \ src/PriorityNotificationQueue.cpp \ src/Process.cpp \ src/PurgeStrategy.cpp \ src/Random.cpp \ src/RandomStream.cpp \ src/RefCountedObject.cpp \ src/RegularExpression.cpp \ src/RotateStrategy.cpp \ src/Runnable.cpp \ src/RWLock.cpp \ src/Semaphore.cpp \ src/SHA1Engine.cpp \ src/SharedLibrary.cpp \ src/SharedMemory.cpp \ src/SignalHandler.cpp \ src/SimpleFileChannel.cpp \ src/SplitterChannel.cpp \ src/Stopwatch.cpp \ src/StreamChannel.cpp \ src/StreamConverter.cpp \ src/StreamCopier.cpp \ src/StreamTokenizer.cpp \ src/String.cpp \ src/StringTokenizer.cpp \ src/SynchronizedObject.cpp \ src/SyslogChannel.cpp \ src/Task.cpp \ src/TaskManager.cpp \ src/TaskNotification.cpp \ src/TeeStream.cpp \ src/TemporaryFile.cpp \ src/TextBufferIterator.cpp \ src/TextConverter.cpp \ src/TextEncoding.cpp \ src/TextIterator.cpp \ src/Thread.cpp \ src/ThreadLocal.cpp \ src/ThreadPool.cpp \ src/ThreadTarget.cpp \ src/TimedNotificationQueue.cpp \ src/Timer.cpp \ src/Timespan.cpp \ src/Timestamp.cpp \ src/Timezone.cpp \ src/Token.cpp \ src/trees.c \ src/UnicodeConverter.cpp \ src/Unicode.cpp \ src/URI.cpp \ src/URIStreamFactory.cpp \ src/URIStreamOpener.cpp \ src/UTF8Encoding.cpp \ src/UTF8String.cpp \ src/UTF16Encoding.cpp \ src/UUID.cpp \ src/UUIDGenerator.cpp \ src/Void.cpp \ src/Windows1252Encoding.cpp \ src/zutil.cinclude $(BUILD_SHARED_LIBRARY)
## Application.mk## POCO Foundation## create by: yangchen (陈阳)#APP_CFLAGS += -fexceptions APP_STL := gnustl_static
POCO集成相关脚本及测试代码:
## Application.mk## POCO Foundation 集成测试## create by: yangchen (陈阳)#LOCAL_PATH :=$(call my-dir)include $(CLEAR_VARS)LOCAL_CFLAGS += -I$(LOCAL_PATH)/includeLOCAL_CPPFLAGS := -frtti -fexceptionsLOCAL_C_INCLUDES := $(LOCAL_PATH)LOCAL_MODULE := BlcCore-jniLOCAL_LDLIBS := -L$(LOCAL_PATH)/lib -lPocoFoundation -llog LOCAL_SRC_FILES := \TestClass.cpp \TestClassImpl.cppinclude $(BUILD_SHARED_LIBRARY)
## Application.mk## POCO Foundation 集成测试## create by: yangchen (陈阳)#APP_CFLAGS += -fexceptions APP_STL := gnustl_static
// TestClass.h#ifndef CORE_TEST_CLASS_INCLUDED#define CORE_TEST_CLASS_INCLUDEDnamespace YANGCHEN{class TestClassImpl;class TestClass{public:TestClass(void);~TestClass(void);int year() const;private:TestClassImpl* pImpl;};}#endif
// TestClass.cpp#include "TestClass.h"#include "TestClassImpl.h"namespace YANGCHEN{TestClass::TestClass(void): pImpl(new TestClassImpl){}TestClass::~TestClass(void){delete pImpl;}int TestClass::year() const{return pImpl->year();}}
// TestClassImp.h#ifndef CORE_TEST_CLASS_IMPL_INCLUDED#define CORE_TEST_CLASS_IMPL_INCLUDED#include "Poco/DateTime.h"namespace YANGCHEN{class TestClassImpl{public:TestClassImpl(void);~TestClassImpl(void);int year() const{return dt.year();}private:Poco::DateTime dt;};}#endif
// TestClassImp.cpp#include "TestClassImpl.h"namespace YANGCHEN{TestClassImpl::TestClassImpl(void){}TestClassImpl::~TestClassImpl(void){}}
- POCO C++库在Android 平台上集成(2)
- POCO C++库在Android 平台上集成(1)
- POCO C++库在Android 平台上集成(3) (集成成功)
- POCO C++ 在IOS上的使用
- Poco c ++ 库安装
- c++Poco库
- Android平台上集成海康SDK
- Android平台上集成大华SDK
- 在Android平台上,集成了一个嵌入式关系型数据库—SQLite
- 如何在Android Studio上集成SMSSDK
- 关于在Android上运行纯C程序即移植thttpd到android平台
- 在Android平台上加载本地库的危险性
- 在Android平台上加载本地库的危险性
- 如何在Windows平台下学习Poco自带例程
- Windows平台使用NDK编写在Android上运行的C/C++标准程序
- Android在新平台上的移植
- 在android平台上使用录音设备
- 在Android平台上开发网络应用
- Android启动错误“Waiting for sevice media.audio_flinger”的解决方案(全)
- NHibernate composite-id class must override Equals() 解决办法
- Android:在ADT中快速多行注释的方法
- Silverlight DataGrid行背景分组着色
- 什么是图形加速卡(一)
- POCO C++库在Android 平台上集成(2)
- 一、事务传播行为种类
- APMServ 5.2.6 无法启动Nginx bug修复
- BCB如何设置exe\dll生成目录
- [Unity3D]在游戏开发中Notification Center的简单使用与案例说明
- android WidgetUtils
- 如何提高自己的气场
- jquery扩展
- printk函数详解