I downloaded boost library and build by using android-crystax-ndk-r4
by using this link that i found in android-ndk
http://groups.google.com/group/boost-list/browse_thread/thread/ce2144a2ee9e47f9/f75844dc37f8fd4c
forum.
Later try to include boost library(thread,regex,system) inside my
application with the corresponding header included
This is my Application.mk file
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
PP_PROJECT_PATH := /home/nasif/workspace/TestCPPBoostDemo
APP_BUILD_SCRIPT := /home/nasif/workspace/TestCPPBoostDemo/jni/
Android.mk
APP_ABI := armeabi
APP_MODULES :=testboost
APP_OPTIM := release
APP_CFLAGS += -O3 -nostdlib
APP_CPPFLAGS +=--sysroot=/home/nasif/android-ndk-r2-crystax/build/
platforms/android-3/arch-arm -DBOOST_THREAD_LINUX -
DBOOST_HAS_PTHREADS -lpthread -D__arm__ -D_REENTRANT \
-DBOOST_HAS_GETTIMEOFDAY -DBOOST_HAS_THREADS -DANDROID -
D_GLIBCXX__PTHREADS -D__NEW__ -D__SGI_STL_INTERNAL_PAIR_H -fno-short-
enums \
-I/home/****/android-ndk-r2-crystax/build/platforms/android-3/arch-arm/
usr/include
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Below is my Android.mk files
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
LOCAL_PATH := $(call my-dir)
STATICLIBPATH:=/home/****/workspace/TestCPPBoostDemo/obj/local
include $(CLEAR_VARS)
LOCAL_MODULE := testboost
#below is my jni wrapper in cpp
LOCAL_SRC_FILES := ClientConnecter.cpp RManager.cpp RWrapper.cpp
SManager.cpp SWrapper.cpp
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include $(LOCAL_PATH)/include/boost $
(LOCAL_PATH)/include/libavcodec $(LOCAL_PATH)/include/libavdevice $
(LOCAL_PATH)/include/libavfilter $(LOCAL_PATH)/include/libavformat $
(LOCAL_PATH)/include/libavutil $(LOCAL_PATH)/include/libpostproc $
(LOCAL_PATH)/include/libswscale
LOCAL_CFLAGS := -g
LOCAL_STATIC_LIBRARIES := libavformat libavcodec libavutil libpostproc
libswscale libavdevice libavfilter libboost_system libboost_thread
libboost_regex
LOCAL_LDLIBS+= -L $(STATICLIBPATH)-lffmpeg -llog -lpthread
include $(BUILD_SHARED_LIBRARY)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
when i am building by using make APP=boostcpp where boostcpp is name
of my app
i am getting the following
erreor.................................................................................................................
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/detail/
socket_types.hpp:124: error: 'INET_ADDRSTRLEN' was not declared in
this scope
In file included from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio/ip/address_v4.hpp:209,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio/ip/address.hpp:21,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio.hpp:46,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientASIO.h:5,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientConnecter.h:2,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
ClientConnecter.cpp:1:
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/impl/
address_v4.ipp: In member function 'std::string
boost::asio::ip::address_v4::to_string(boost::system::error_code&)
const':
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/impl/
address_v4.ipp:84: error: size of array 'addr_str' is not an integral
constant-expression
In file included from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio/ip/address_v6.hpp:227,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio/ip/address.hpp:22,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio.hpp:46,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientASIO.h:5,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientConnecter.h:2,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
ClientConnecter.cpp:1:
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/impl/
address_v6.ipp: In constructor
'boost::asio::ip::address_v6::address_v6()':
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/impl/
address_v6.ipp:37: error: 'IN6ADDR_ANY_INIT' was not declared in this
scope
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/impl/
address_v6.ipp: In member function 'bool
boost::asio::ip::address_v6::is_multicast_global() const':
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/impl/
address_v6.ipp:209: error: 'IN6_IS_ADDR_MC_GLOBAL' was not declared in
this scope
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/impl/
address_v6.ipp: In member function 'bool
boost::asio::ip::address_v6::is_multicast_node_local() const':
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/impl/
address_v6.ipp:221: error: 'IN6_IS_ADDR_MC_NODELOCAL' was not declared
in this scope
In file included from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio/ip/detail/endpoint.hpp:139,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio/ip/basic_endpoint.hpp:20,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio.hpp:49,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientASIO.h:5,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientConnecter.h:2,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
ClientConnecter.cpp:1:
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/impl/endpoint.ipp: In constructor
'boost::asio::ip::detail::endpoint::endpoint(int, short unsigned
int)':
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/impl/endpoint.ipp:60: error: 'IN6ADDR_ANY_INIT' was not
declared in this scope
In file included from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio/ip/multicast.hpp:20,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio.hpp:56,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientASIO.h:5,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientConnecter.h:2,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
ClientConnecter.cpp:1:
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp: In constructor
'boost::asio::ip::detail::socket_option::multicast_request<IPv4_Level,
IPv4_Name, IPv6_Level, IPv6_Name>::multicast_request()':
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp:396: error: 'IN6ADDR_ANY_INIT' was not
declared in this scope
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp:398: error: 'struct
boost::asio::detail::in6_mreq_type' has no member named
'ipv6mr_interface'
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp: In constructor
'boost::asio::ip::detail::socket_option::multicast_request<IPv4_Level,
IPv4_Name, IPv6_Level, IPv6_Name>::multicast_request(const
boost::asio::ip::address&)':
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp:417: error: 'struct
boost::asio::detail::in6_mreq_type' has no member named
'ipv6mr_interface'
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp:428: error: 'IN6ADDR_ANY_INIT' was not
declared in this scope
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp:430: error: 'struct
boost::asio::detail::in6_mreq_type' has no member named
'ipv6mr_interface'
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp: In constructor
'boost::asio::ip::detail::socket_option::multicast_request<IPv4_Level,
IPv4_Name, IPv6_Level, IPv6_Name>::multicast_request(const
boost::asio::ip::address_v4&, const boost::asio::ip::address_v4&)':
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp:447: error: 'IN6ADDR_ANY_INIT' was not
declared in this scope
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp:449: error: 'struct
boost::asio::detail::in6_mreq_type' has no member named
'ipv6mr_interface'
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp: In constructor
'boost::asio::ip::detail::socket_option::multicast_request<IPv4_Level,
IPv4_Name, IPv6_Level, IPv6_Name>::multicast_request(const
boost::asio::ip::address_v6&, long unsigned int)':
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
detail/socket_option.hpp:468: error: 'struct
boost::asio::detail::in6_mreq_type' has no member named
'ipv6mr_interface'
In file included from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/boost/asio.hpp:56,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientASIO.h:5,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
include/ClientConnecter.h:2,
from /home/nasif/workspace/TestCPPBoostDemo/jni/
ClientConnecter.cpp:1:
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
multicast.hpp: At global scope:
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
multicast.hpp:51: error: 'IPV6_JOIN_GROUP' was not declared in this
scope
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
multicast.hpp:51: error: template argument 4 is invalid
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
multicast.hpp:51: error: invalid type in declaration before ';' token
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
multicast.hpp:76: error: 'IPV6_LEAVE_GROUP' was not declared in this
scope
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
multicast.hpp:76: error: template argument 4 is invalid
/home/nasif/workspace/TestCPPBoostDemo/jni/include/boost/asio/ip/
multicast.hpp:76: error: invalid type in declaration before ';' token
make: *** [out/apps/boostcpp//objs/testboost/ClientConnecter.o] Error
1
///////////////////////////////////////////////////////
All of this error is mainly due to in.h headerfiles inside netinet
due to it's mismatch with normal linux include...
How i will fix this, i am beliving some one of you will face the same
issue..................
i already spent three days to fix this things, later i tried with
android-ndk-r4b-crystax, but the errors are same....
Please help me...........................