Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- While trying to compile my C++ application, I get the following link error.
- /home/me/tools/crystax-ndk-10.3.2/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -Wl,--gc-sections -Wl,-z,nocopyreloc --sysroot=/home/me/tools/crystax-ndk-10.3.2/platforms/android-21/arch-arm -Wl,-rpath-link=/home/me/tools/crystax-ndk-10.3.2/platforms/android-21/arch-arm/usr/lib -Wl,-rpath-link=/home/me/workspace/elm/elm/src/comps/van/obj/local/armeabi-v7a /home/me/workspace/elm/elm/src/comps/van/obj/local/armeabi-v7a/objs/rn/main.o /home/me/workspace/elm/elm/src/comps/van/obj/local/armeabi-v7a/objs/rn/init.o -lgcc /home/me/workspace/elm/elm/src/comps/van/obj/local/armeabi-v7a/librcom.so /home/me/workspace/elm/elm/src/comps/van/obj/local/armeabi-v7a/libgnustl_shared.so -no-canonical-prefixes -march=armv7-a -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -fPIE -pie -mthumb -L/home/me/tools/ros-android-ndk/roscpp_android/output/roscpp_android_ndk/lib /home/me/tools/crystax-ndk-10.3.2/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/libsupc++.a -L/home/me/tools/crystax-ndk-10.3.2/sources/crystax/empty /home/me/tools/crystax-ndk-10.3.2/sources/crystax/libs/armeabi-v7a/thumb/libcrystax.so -lc -o /home/me/workspace/elm/elm/src/comps/van/obj/local/armeabi-v7a/rn
- jni/main.cpp:34: error: undefined reference to 'ros::init(int&, char**, std::string const&, unsigned int)'
- collect2: error: ld returned 1 exit status
- Yet, the needed library (libroscpp.a) is being included and appears to have the correct symbol.
- $ nm -C ./libroscpp.a | grep "ros::init"
- 00000001 T ros::init(int&, char**, std::string const&, unsigned int)
- Anyone have thoughts about what might be going on?
- Here's my build file (Android.mk).
- LOCAL_PATH := $(call my-dir)
- MY_ELM_HOME := /home/me/workspace/elm/elm/src
- MY_ELM_INCL := /home/me/workspace/elm/elm/src/includes
- MY_ROS_HOME := /home/me/tools/ros-android-ndk/roscpp_android/output/roscpp_android_ndk
- MY_COMMONS_INCL := $(MY_ELM_HOME)/includes/commons
- MY_COMMONS_LIBS := $(MY_ELM_HOME)/libs/commons/libs/armeabi-v7a
- MY_ROS_INCL := $(MY_ROS_HOME)/include
- MY_ROS_LIBS := $(MY_ROS_HOME)/lib
- include $(CLEAR_VARS)
- LOCAL_MODULE := settings
- LOCAL_SRC_FILES := $(MY_COMMONS_LIBS)/libelm_commons.so
- include $(PREBUILT_SHARED_LIBRARY)
- include $(CLEAR_VARS)
- LOCAL_MODULE := eam
- LOCAL_C_INCLUDES := $(MY_ELM_INCL)
- LOCAL_C_INCLUDES += $(MY_ROS_INCL)
- LOCAL_SRC_FILES := main.cpp
- LOCAL_SRC_FILES += init.cpp
- LOCAL_CPPFLAGS := -std=gnu++14
- LOCAL_CPP_FEATURES := rtti exceptions
- LOCAL_LDLIBS := -L$(MY_ROS_LIBS)
- LOCAL_SHARED_LIBRARIES := settings
- LOCAL_STATIC_LIBRARIES := libroscpp
- LOCAL_STATIC_LIBRARIES += libroscpp_serialization
- LOCAL_STATIC_LIBRARIES += librosconsole
- include $(BUILD_EXECUTABLE)
- $(call import-module,boost/1.59.0)
Advertisement
Add Comment
Please, Sign In to add comment