Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2020 April 26

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
if so, would i just specify the library as normal? eg

target_link_libraries(FFMPEG-ANDROID-BASE avcodec)
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
or would i need to declare it as

add_library(avcodec SHARED IMPORTED)

set_target_properties(avcodec PROPERTIES IMPORTED_LOCATION libavcodec.so)

and then add it

target_link_libraries(FFMPEG-ANDROID-BASE avcodec)
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
*tries to build*
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
welp that fails
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
.../bin/ld: error: cannot find -lavcodec
.../bin/ld: error: cannot find -lavdevice
.../bin/ld: error: cannot find -lavfilter
.../bin/ld: error: cannot find -lavformat
.../bin/ld: error: cannot find -lavutil
.../bin/ld: error: cannot find -lswresample
.../bin/ld: error: cannot find -lswscale
.../bin/ld: error: cannot find -lcpufeatures
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
and so does this
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
ninja: error: 'avcodec-NOTFOUND', needed by '/Users/mac/StudioProjects/MediaPlayerPro/app/build/intermediates/cmake/debug/obj/armeabi-v7a/libFFMPEG-ANDROID-BASE.so', missing and no known rule to make it
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
ughhhhh
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
how do i specify the library location if the path is unknown
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
app/libs/armeabi-v7a/libavcodec.so exists so why cant it find it ;-;
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
i have

   sourceSets {
       main {
           jniLibs {
               srcDirs = ["./libs"] // is this default or must it be explicitly specified?
           }
       }
   }

in my app/build.gradle file as well ;-;
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
i tried both

target_link_libraries(FFMPEG-ANDROID-BASE avcodec)

and

add_library(avcodec SHARED IMPORTED)
target_link_libraries(FFMPEG-ANDROID-BASE avcodec)

and

add_library(avcodec SHARED IMPORTED)
set_target_properties(avcodec PROPERTIES IMPORTED_LOCATION libavcodec.so)
target_link_libraries(FFMPEG-ANDROID-BASE avcodec)

but it doesnt find avcodec ;-;
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
welp imma try

# set_target_properties requires an absolute path, this path may contain ../

# it is currently unknown how to obtain an absolute path to the app's libs dir

# we assume a static location between FFMPEG-ANDROID and app/libs

set_target_properties(
       avcodec PROPERTIES IMPORTED_LOCATION
       ../../../../../libs/${CMAKE_ANDROID_ARCH_ABI}/libavcodec.so
)
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
it didnt work ;-;

ninja: error: '../../../../../libs/armeabi-v7a/libavcodec.so', needed by '/Users/mac/StudioProjects/MediaPlayerPro/app/build/intermediates/cmake/debug/obj/armeabi-v7a/libFFMPEG-ANDROID-BASE.so', missing and no known rule to make it
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
Macs-MacBook-Air:FFMPEG-ANDROID mac$ ls -l ../../../../../libs/armeabi-v7a/libavcodec.so
-rwxr-xr-x  1 mac  staff  25619624 Apr 26 08:44 ../../../../../libs/armeabi-v7a/libavcodec.so
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
imma try

       ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../libs/${CMAKE_ANDROID_ARCH_ABI}/libavcodec.so
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
yay i got the libs inside
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Matthew Good
It is my turn -- 2:29 AM here
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Though glad you managed to get it through
источник