Android неопределенная ссылка на API ANativeWindow_setBuffersTransform - PullRequest
0 голосов
/ 04 февраля 2020

Я получаю следующую ошибку компоновки при попытке использовать ANativeWindow_setBuffersTransform API. Соответствующая версия SDK: 28

undefined reference to `ANativeWindow_setBuffersTransform'

В моем файле CMAKE я связываю свою целевую библиотеку с android library

target_link_libraries( # Specifies the target library.
        native-lib
        android
        GLESv2
        EGL
        realsense2
        libpcl_recognition
        libpcl_tracking
        libpcl_registration
        libpcl_stereo
        libpcl_segmentation
        libpcl_ml
        libpcl_keypoints
        libpcl_features
        libpcl_2d
        libpcl_surface
        libpcl_io_ply
        libpcl_io
        libpcl_filters
        libpcl_sample_consensus
        libpcl_search
        libpcl_octree
        libpcl_kdtree
        libpcl_common
        libboost_date_time
        libboost_filesystem
        libboost_iostreams
        libboost_program_options
        libboost_regex
        libboost_signals
        libboost_system

        # Links the target library to the log library
        # included in the NDK.
        ${log-lib})

В моем файле исходного кода я включаю заголовок

#include <android/native_window.h>

Я также могу использовать другие функции NativeWindow, такие как

ANativeWindow_lock
ANativeWindow_setBuffersGeometry
ANativeWindow_unlockAndPost

. Компилятор жалуется только на ANativeWindow_setBuffersTransform.

У кого-нибудь есть идеи? Кто-нибудь смог успешно вызвать эту функцию и поделиться информацией? заранее спасибо.

1 Ответ

0 голосов
/ 12 февраля 2020

ANativeWindow_setBuffersTransform существует в nativewindow.so в CMAKE, просто нужно добавить nativewindow в список связанных библиотек, и он должен скомпилировать и связать

...