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){}}





原创粉丝点击