Android OpenMP在VLC中的集成

Android OpenMP在VLC中的集成,android,openmp,vlc,Android,Openmp,Vlc,我试图让OpenMP与VLC(Android版本)一起工作,但没有成功 根据谷歌的建议,我将其添加到Android.mk(/vlc-Android/libvlc/jni)文件中: 但我一直得到: error: undefined reference to 'omp_set_num_threads' error: undefined reference to 'omp_get_thread_num' error: undefined reference to 'omp_get_num_thread

我试图让OpenMP与VLC(Android版本)一起工作,但没有成功

根据谷歌的建议,我将其添加到
Android.mk
(/vlc-Android/libvlc/jni)文件中:

但我一直得到:

error: undefined reference to 'omp_set_num_threads'
error: undefined reference to 'omp_get_thread_num'
error: undefined reference to 'omp_get_num_threads'
我想知道是否有人能帮我克服这个错误

Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := libvlc
ARCH=$(APP_ABI)
LOCAL_SRC_FILES += libvlcjni-modules.c libvlcjni-symbols.c dummy.cpp
LOCAL_LDFLAGS := -L$(VLC_CONTRIB)/lib
LOCAL_LDLIBS := \
    $(VLC_MODULES) \
    $(VLC_BUILD_DIR)/lib/.libs/libvlc.a \
    $(VLC_BUILD_DIR)/src/.libs/libvlccore.a \
    $(VLC_BUILD_DIR)/compat/.libs/libcompat.a \
    $(VLC_CONTRIB_LDFLAGS) \
    -ldl -lz -lm -llog \
    -lliveMedia -lUsageEnvironment -lBasicUsageEnvironment -lgroupsock \
    -la52 -ljpeg \
    -lavcodec -lebml \
    -llua \
    -lgcrypt -lgpg-error \
    $(VLC_LDFLAGS)

include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := libvlcjni

LOCAL_SRC_FILES := libvlcjni.c
LOCAL_SRC_FILES += libvlcjni-mediaplayer.c
LOCAL_SRC_FILES += libvlcjni-vlcobject.c
LOCAL_SRC_FILES += libvlcjni-media.c libvlcjni-medialist.c libvlcjni-mediadiscoverer.c
LOCAL_SRC_FILES += libvlcjni-dialog.c
LOCAL_SRC_FILES += thumbnailer.c
LOCAL_SRC_FILES += std_logger.c

LOCAL_LDLIBS := -llog
LOCAL_C_INCLUDES := $(VLC_SRC_DIR)/include

ARCH=$(APP_ABI)

LOCAL_CFLAGS := -std=c11
ifeq ($(ARCH), armeabi-v7a)
    LOCAL_CFLAGS += -DHAVE_ARMEABI_V7A
endif

LOCAL_SHARED_LIBRARIES:= libvlc

include $(BUILD_SHARED_LIBRARY)

对于未来的用户,我设法通过添加以下内容来解决此问题:

LOCAL_CFLAGS := -std=c99 -fopenmp
和-lgomp到本地的\u LDLIBS:

LOCAL_LDLIBS := \
    $(VLC_MODULES) \
    $(VLC_BUILD_DIR)/lib/.libs/libvlc.a \
    $(VLC_BUILD_DIR)/src/.libs/libvlccore.a \
    $(VLC_BUILD_DIR)/compat/.libs/libcompat.a \
    $(VLC_CONTRIB_LDFLAGS) \
    -ldl -lz -lm -llog \
    -lliveMedia -lUsageEnvironment -lBasicUsageEnvironment -lgroupsock \
    -la52 -ljpeg \
    -lavcodec -lebml \
    -llua -lgomp \
    -lgcrypt -lgpg-error \
    $(VLC_LDFLAGS)

参考:

哪个编译器(版本)?你在哪个操作系统上编译?操作系统是Ubuntu 16.04,我在我的帖子中添加了make文件。谢谢。我在发布的makefile中没有看到
LOCAL\u LDFLAGS+=-fopenmp
,与
LOCAL\u CFLAGS+=-fopenmp
相同,只有赋值(
:=
)是不需要的?即使我添加LOCAL\u LDFLAGS+=-fopenmp LOCAL\u CFLAGS+=-fopenmp,它也不起作用
LOCAL_LDLIBS := \
    $(VLC_MODULES) \
    $(VLC_BUILD_DIR)/lib/.libs/libvlc.a \
    $(VLC_BUILD_DIR)/src/.libs/libvlccore.a \
    $(VLC_BUILD_DIR)/compat/.libs/libcompat.a \
    $(VLC_CONTRIB_LDFLAGS) \
    -ldl -lz -lm -llog \
    -lliveMedia -lUsageEnvironment -lBasicUsageEnvironment -lgroupsock \
    -la52 -ljpeg \
    -lavcodec -lebml \
    -llua -lgomp \
    -lgcrypt -lgpg-error \
    $(VLC_LDFLAGS)