gpt4 book ai didi

android-ndk 构建无法链接 boost 系统

转载 作者:太空狗 更新时间:2023-10-29 13:28:33 25 4
gpt4 key购买 nike

我正在尝试构建 sphinxbase 库,但它一直出现以下错误:

C:/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/base/__/__/__/__/__/src/libsphinxbase/util/SingletonLogMath.o: in function boost::thread_exception::thread_exception(int, char const*):C:\sdk/include/boost/thread/exceptions.hpp:51: error: undefined reference to 'boost::system::system_category()'
C:/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/base/__/__/__/__/__/src/libsphinxbase/util/SingletonLogMath.o: in function _GLOBAL__sub_I_SingletonLogMath.cpp:C:\sdk/include/boost/system/error_code.hpp:222: error: undefined reference to 'boost::system::generic_category()'
C:/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/base/__/__/__/__/__/src/libsphinxbase/util/SingletonLogMath.o: in function _GLOBAL__sub_I_SingletonLogMath.cpp:C:\sdk/include/boost/system/error_code.hpp:223: error: undefined reference to 'boost::system::generic_category()'
C:/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/base/__/__/__/__/__/src/libsphinxbase/util/SingletonLogMath.o: in function _GLOBAL__sub_I_SingletonLogMath.cpp:C:\sdk/include/boost/system/error_code.hpp:224: error: undefined reference to 'boost::system::system_category()'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libbase.so] Error 1

我在互联网上进行了搜索,我所能找到的只是我应该添加 boost-system 库,他们还说以正确的顺序使用 include 依赖项很重要。但我不知道正确的顺序是什么。

这是 android.mk 文件中可能很重要的部分。

include $(CLEAR_VARS)
LOCAL_MODULE := boost_thread
LOCAL_SRC_FILES := lib/libboost_thread_pthread-gcc-mt-1_54.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := boost_system
LOCAL_SRC_FILES := lib/libboost_system-gcc-mt-1_54.a
include $(PREBUILT_STATIC_LIBRARY)

LOCAL_PATH := $(MY_LOCAL_PATH)

include $(CLEAR_VARS)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../../../src/libsphinxbase/fe $(LOCAL_PATH)/../../../../../src/libsphinxbase/fe $(LOCAL_PATH)/../../../../../include/android $(LOCAL_PATH)/../../../../../include $(SDK)/include
LOCAL_CFLAGS += -DHAVE_CONFIG_H
LOCAL_CPPFLAGS += -fexceptions -frtti
LOCAL_ARM_MODE := arm

...sources...

LOCAL_STATIC_LIBRARIES := boost_system, boost_thread

正确的顺序应该是什么?

最佳答案

LOCAL_STATIC_LIBRARIES := boost_system, boost_thread

你应该去掉','

LOCAL_STATIC_LIBRARIES := boost_system boost_thread

关于android-ndk 构建无法链接 boost 系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18697755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com