Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android NDK共享库编译问题无法编译静态库_Android_C++_Android Ndk - Fatal编程技术网

Android NDK共享库编译问题无法编译静态库

Android NDK共享库编译问题无法编译静态库,android,c++,android-ndk,Android,C++,Android Ndk,我在用NDK编译.cpp文件时遇到一些问题。似乎找不到静态库libIrmaMatrix。有什么建议吗 这是我的Android.mk LOCAL_ALLOW_UNDEFINED_SYMBOLS := true LOCAL_PATH := $(call my-dir) #IrmaMatrixLib include $(CLEAR_VARS) LOCAL_MODULE := irmaMatrix $(warning $(TARGET_ARCH_ABI)) LOCAL_SRC_FILES :=

我在用NDK编译.cpp文件时遇到一些问题。似乎找不到静态库libIrmaMatrix。有什么建议吗

这是我的Android.mk

LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
LOCAL_PATH := $(call my-dir)

#IrmaMatrixLib
include $(CLEAR_VARS)
LOCAL_MODULE    := irmaMatrix 
$(warning $(TARGET_ARCH_ABI))
LOCAL_SRC_FILES := iris/sensor-api/static/libIrmaMatrix.a
LOCAL_LDLIBS   = -lz -lm -lc
include $(PREBUILT_STATIC_LIBRARY)

##BoostSystem
include $(CLEAR_VARS)
LOCAL_MODULE    := libSystem
LOCAL_SRC_FILES := boost/lib/libboost_system-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

#libAtomic
include $(CLEAR_VARS)
LOCAL_MODULE    := libAtomic
LOCAL_SRC_FILES := boost/lib/libboost_atomic-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

#libChrono
include $(CLEAR_VARS)
LOCAL_MODULE    := libChrono
LOCAL_SRC_FILES := boost/lib/libboost_chrono-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

#libProgramOptions
include $(CLEAR_VARS)
LOCAL_MODULE    := libProgramOptions 
LOCAL_SRC_FILES := boost/lib/libboost_program_options-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

#libThread
include $(CLEAR_VARS)
LOCAL_MODULE    := libThread
LOCAL_SRC_FILES := boost/lib/libboost_thread-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)

LOCAL_CFLAGS += -I$(LOCAL_PATH)/boost/include/boost-1_55
LOCAL_EXPORT_C_INCLUDE_DIRS += -I$(LOCAL_PATH)/boost/include/boost-1_55
LOCAL_EXPORT_C_INCLUDE_DIRS += -I$(LOCAL_PATH)/include/iris/sensor-api
LOCAL_EXPORT_C_INCLUDE_DIRS += -I$(LOCAL_PATH)/prebuild/static/libIrmaMatrix.a
LOCAL_MODULE    := AVL
LOCAL_MODULE_FILENAME:= libAVL
LOCAL_SRC_FILES := AVL.cpp
LOCAL_STATIC_LIBRARIES := irmaMatrix 
LOCAL_STATIC_LIBRARIES += libSystem 
LOCAL_STATIC_LIBRARIES += libAtomic 
LOCAL_STATIC_LIBRARIES += libThread 
LOCAL_STATIC_LIBRARIES += libChrono 
LOCAL_STATIC_LIBRARIES += libProgramOptions 
LOCAL_LDLIBS   := -lz -lm -lc

include $(BUILD_SHARED_LIBRARY)
Application.mk

APP_ABI := armeabi-v7a-hard
#APP_STL := stlport_static
APP_CFLAGS += -mfloat-abi=hard
APP_STL := gnustl_static
APP_MODULES := AVL
APP_PLATFORM := android-18
APP_CPPFLAGS := -frtti -fexceptions
以下错误:

[armeabi-v7a-hard] SharedLibrary  : libAVL.so
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(Connection.o): in function iris::drivers::Connection::~Connection():Connection.cpp(.text+0x39c): error: undefined reference to '__assert_fail'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(Connection.o): in function iris::drivers::Connection::~Connection():Connection.cpp(.text+0x4a8): error: undefined reference to '__assert_fail'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(Connection.o): in function iris::drivers::Connection::~Connection():Connection.cpp(.text+0x5b4): error: undefined reference to '__assert_fail'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(Connection.o): in function iris::drivers::Connection::unregisterSensor(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):Connection.cpp(.text+0x77c): error: undefined reference to '__assert_fail'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(LogFile.o): in function iris::utilities::LogFile::readEntryAt(long long):LogFile.cpp(.text+0x208): error: undefined reference to 'std::basic_istream<char, std::char_traits<char> >::seekg(std::fpos<__mbstate_t>)'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(DriverManager.o): in function iris::drivers::DriverManager::loadDrivers(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool):DriverManager.cpp(.text+0x1d8c): error: undefined reference to 'boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*)'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(DriverManager.o): in function iris::drivers::DriverManager::loadDrivers(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool):DriverManager.cpp(.text+0x1dec): error: undefined reference to 'boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(DriverManager.o): in function void boost::checked_delete<boost::filesystem::detail::dir_itr_imp>(boost::filesystem::detail::dir_itr_imp*):DriverManager.cpp(.text._ZN5boost14checked_deleteINS_10filesystem6detail11dir_itr_impEEEvPT_+0x1c): error: undefined reference to 'boost::filesystem::detail::dir_itr_close(void*&, void*&)'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(DriverManager.o): in function boost::detail::sp_counted_impl_p<boost::filesystem::detail::dir_itr_imp>::dispose():DriverManager.cpp(.text._ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE7disposeEv+0x20): error: undefined reference to 'boost::filesystem::detail::dir_itr_close(void*&, void*&)'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(DriverManager.o): in function boost::filesystem::directory_iterator::directory_iterator(boost::filesystem::path const&):DriverManager.cpp(.text._ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE+0xb8): error: undefined reference to 'boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*)'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(DriverManager.o): in function boost::filesystem::detail::recur_dir_itr_imp::increment(boost::system::error_code*):DriverManager.cpp(.text._ZN5boost10filesystem6detail17recur_dir_itr_imp9incrementEPNS_6system10error_codeE+0x58): error: undefined reference to 'boost::filesystem::directory_entry::m_get_symlink_status(boost::system::error_code*) const'
............
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(utf8wchar.o): in function gcc_coding_to_coding(char const*, char const*, char const*, unsigned int, char*, unsigned int):utf8wchar.cpp(.text+0xd8): error: undefined reference to 'iconv'
/home/manevbg/Documents/android-sdks/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/iris/sensor-api/static/libIrmaMatrix.a(utf8wchar.o): in function gcc_coding_to_coding(char const*, char const*, char const*, unsigned int, char*, unsigned int):utf8wchar.cpp(.text+0xe8): error: undefined reference to 'iconv_close'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi-v7a-hard/libAVL.so] Error 1
[armeabi-v7a-hard]共享库:libAVL.so
/home/manevbg/Documents/android-sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin/。/lib/gcc/arm-linux-androideabi/bin/ld:jni/iris/sensor-api/static/libIrmaMatrix.a(Connection.o):函数中的iris::drivers::Connection::~Connection():Connection.cpp text+0x39c:错误:未定义对“\uu断言\u失败”的引用
/home/manevbg/Documents/android-sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin/。/lib/gcc/arm-linux-androideabi/bin/ld:jni/iris/sensor-api/static/libIrmaMatrix.a(Connection.o):函数中的iris::drivers::Connection::~Connection():Connection.cpp text+0x4a8:错误:未定义对“\uu断言\u失败”的引用
/home/manevbg/Documents/android-sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin/。/lib/gcc/arm-linux-androideabi/bin/ld:jni/iris/sensor-api/static/libIrmaMatrix.a(Connection.o):函数中的iris::drivers::Connection::~Connection():Connection.cpp text+0x5b4:错误:未定义对“\uu断言\u失败”的引用
/home/manevbg/Documents/android sdk/android-ndk-r10/toolschains/arm-linux-androidabi-4.6/prebuild/linux-x86_64/bin//lib/gcc/arm-linux-androidabi/4.6/../../../../../../../arm linux-androidabi bin/bin/ld:jni/iris/sensor api/static/libirimamatrix.a(Connection.o):函数中的iris::drivers Connection::Connection::Connection::unregisterSensor(.text+0x77c):错误:未定义对“\u断言\u失败”的引用
/home/manevbg/Documents/android sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin//lib/gcc/arm-linux-androideabi/4.6/../../../../../arm linux-androideabi/bin/ld:jni/iris/sensor api/static/libIrmaMatrix.a(LogFile.o):函数中的iris::utilities::LogFile::readEntryAt(长):LogFile.cpp(.text+0x208):错误:未定义对“std::basic\u istream::seekg(std::fpos)”的引用
/home/manevbg/Documents/android-sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin//lib/gcc/arm-linux-androideabi/4.6/../../../../../../arm linux-androideabi/bin/ld:jni/iris/sensor api/static/libIrmaMatrix.a(DriverManager.o):函数中的iris::drivers::drivers::drivers::loadDrivers::loadDrivers::loadDrivers(std::basic::basic字符串常量、bool、bool):DriverManager.cpp(.text+0x1d8c):错误:未定义对“boost::filesystem::detail::directory\u iterator\u构造(boost::filesystem::directory\u iterator&,boost::filesystem::path const&,boost::system::error\u code*)的引用
/home/manevbg/Documents/android-sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin//lib/gcc/arm-linux-androideabi/4.6/../../../../../../arm linux-androideabi/bin/ld:jni/iris/sensor api/static/libIrmaMatrix.a(DriverManager.o):函数中的iris::drivers::drivers::drivers::loadDrivers::loadDrivers::loadDrivers(std::basic::basic字符串常量、bool、bool):DriverManager.cpp(.text+0x1dec):错误:未定义对“boost::filesystem::detail::directory\u iterator\u increment(boost::filesystem::directory\u iterator&,boost::system::error\u code*)”的引用
/home/manevbg/Documents/android-sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin//lib/gcc/arm-linux-androideabi/4.6/../../../../../arm linux-androideabi/bin/ld:jni/iris/sensor api/static/libIrmaMatrix.a(DriverManager.o):函数中的void boost::checked\u delete(boost::filesystem::detail::dir itr\u imp*):DriverManager.cpp(.text.\u zn5boost14检查\u deleteINS\u 10filesystem6detail11dir\u itr\u impeevpt\uu1c):错误:未定义对“boost::filesystem::detail::dir\u itr\u close(void*&,void*&)”的引用
/home/manevbg/Documents/android sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin//lib/gcc/arm-linux-androideabi/4.6/../../../../../arm linux-androideabi/bin/ld:jni/iris/sensor api/static/libIrmaMatrix.a(DriverManager.o):函数中的boost::detail::sp::sp\u counted\u impl\u p::dispose():DriverManager.cpr(.text._ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impee7dispeev+0x20):错误:未定义对“boost::filesystem::detail::dir_itr_close(void*&,void*&)”的引用
/home/manevbg/Documents/android sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin//lib/gcc/arm-linux-androideabi/4.6/../../../../../arm linux-androideabi/bin/ld:jni/iris/sensor api/static/libIrmaMatrix.a(DriverManager.o):函数内boost::filesystem::directory\u迭代器::directory\u迭代器::directory\u迭代器(boost::filesystem::path const&):DriverManager.cpp(.text._ZN5boost10filesystem18directory\u iteratorC1ERKNS0\u 4pathE+0xb8):错误:未定义对“boost::filesystem::detail::directory\u迭代器构造(boost::filesystem::directory\u iterator&,boost::filesystem::path const&,boost::system::error\u code*)”的引用
/home/manevbg/Documents/android-sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin/。/lib/gcc/arm-linux-androideabi/bin/ld:jni/iris/sensor-api/static/libIrmaMatrix.a(DriverManager.o):函数内boost::filesystem::detail::recur\u dir\u itr\u imp::increment(boost::system::error_code*):DriverManager.cpp(.text.\u zn5boost10文件系统6detail17recur\u dir\u itr\u imp9incrementEPNS\u 6system10error\u code+0x58):错误:未定义对“boost::filesystem::directory\u条目::m_get\u符号链接状态(boost::system::error\u code*)const”的引用
............
/home/manevbg/Documents/android-sdk/android-ndk-r10/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86_64/bin//lib/gcc/arm-linux-androideabi/4.6/../../../../../../arm linux-androideabi/bin/ld:jni/iris/sensor api/static/libIrmaMatrix.a(utf8wchar.o):函数中的gcc_-to_编码(char const*,char const*,char const*,char,
LOCAL_STATIC_LIBRARIES := irmaMatrix 
LOCAL_STATIC_LIBRARIES += libSystem 
LOCAL_STATIC_LIBRARIES += libAtomic 
LOCAL_STATIC_LIBRARIES += libThread 
LOCAL_STATIC_LIBRARIES += libChrono 
LOCAL_STATIC_LIBRARIES += libProgramOptions 
LOCAL_LDLIBS := -L/path/to/the/library