У меня есть библиотека c ++, которая выполняет рендеринг opengl (es 2.0), и я хочу использовать ее на Android. При связывании библиотеки с target_link_libraries(mylib log GLESv2)
я получаю следующую ошибку:
ld: error: cannot open crtbegin_so.o: No such file or directory
ld: error: cannot open crtend_so.o: No such file or directory
ld: error: cannot find -llog
ld: error: cannot find -lGLESv2
ld: error: cannot find -lm
ld: error: cannot find -lstdc++
ld: error: cannot find -lm
ld: error: cannot find -ldl
ld: error: cannot find -lc
ld: error: cannot find -ldl
Если я вручную предоставлю конкретный каталог из android ndk, он будет работать. В cmake это выглядит примерно так:
link_directories( ${ANDROID_NDK}/platforms/${ANDROID_API}/arch-${ANDROID_ABI}/usr/lib )
Мне интересно, если это правильный способ решить эту ошибку.
В этом простом примере дополнительное определение link_directories не требуется. В чем разница с моей библиотекой?