Getting error: undefined reference to function Android NDK

2,332 views
Skip to first unread message

durian...@gmail.com

unread,
Nov 19, 2017, 3:16:37 PM11/19/17
to android-ndk

I have been trying to solve this issue for more than two days, but still no luck.

I have no idea what is wrong, I need just to set up a simple NDK project, but it has already taken a tremendous amount of time.

The problem is that I am getting

error: undefined reference to 'firpm(unsigned int, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, double, int)'

Here is my root CMakeLists

# Cmake Minimum Version
cmake_minimum_required(VERSION 3.4.1)
project(EcgProcessing)
# Add nested cmake files
include(libs/CMakeLists.txt)

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

# ECG Audio Processor library
add_library(ecg-signal-processor-demodulator SHARED
            demodulator.cpp)
add_library(ecg-signal-processor-qrsdetection SHARED
            qrsdetection.cpp)
# Link

target_link_libraries(
            firpm_d
            log
            android
            ecg-signal-processor-demodulator
            ecg-signal-processor-qrsdetection)

And in the libs directory

# Cmake Minimum Version
cmake_minimum_required(VERSION 3.4.1)
set(LIBS_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/Eigen/)
MACRO(ADD_SUBLIB libname source_ext)
  #Compute required sources
  set(sublib_path "${LIBS_DIRECTORY}/${libname}")
  file(GLOB_RECURSE sublib_sources "${sublib_path}/src/*.${source_ext}")
  #Create library
  IF( sublib_sources )
    ADD_LIBRARY(${libname} SHARED ${sublib_sources})
  ENDIF()
  #add this library's header folder to the global include set
  INCLUDE_DIRECTORIES("${sublib_path}/include")
  INCLUDE_DIRECTORIES("${sublib_path}/")
  link_directories(${sublib_path})
ENDMACRO(ADD_SUBLIB)

ADD_SUBLIB(firpm_d "cpp")
ADD_SUBLIB(eigen "cpp")

It starts to compile the project, however ends up with the error.

What can cause this error, I have no idea what to try else.

Here is source code, so you can see it all structured. https://github.com/DurianOdour/EcgProcessor

I would be grateful for any help


https://stackoverflow.com/questions/47376444/getting-error-undefined-reference-to-function-android-ndk

Ryan Prichard

unread,
Nov 20, 2017, 10:57:47 PM11/20/17
to andro...@googlegroups.com
For the benefit of mailing list readers: the problem was an incorrect linking order, and the original poster's code is fixed now.


-Ryan


--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-ndk+unsubscribe@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
Visit this group at https://groups.google.com/group/android-ndk.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-ndk/e05e1152-b94f-4c39-b2d3-e2dd1972c8b1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages