Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android NDK cmake仅对一个库禁用未定义的符号检查_Android_Cmake_Android Ndk_Linker_Clang - Fatal编程技术网

Android NDK cmake仅对一个库禁用未定义的符号检查

Android NDK cmake仅对一个库禁用未定义的符号检查,android,cmake,android-ndk,linker,clang,Android,Cmake,Android Ndk,Linker,Clang,我在android上使用OpenSL库中的噪声抑制API,它似乎没有包含在旧的NDK预构建的OpenSL库中。所以我犯了一些错误,比如“未定义对'SL_IID_ANDROIDNOISESUPPRESSION'的引用”。我认为这是r17c NDK的问题,因为我在r21b上没有这样的错误。但目前我无法为我的大型遗留跨平台项目更新NDK版本。所以我想在链接到android上的OpenSL ES库时禁用未定义的符号检查。我知道如何在整个项目中这样做,例如在gradle(-DANDROID_ALLOW_U

我在android上使用OpenSL库中的噪声抑制API,它似乎没有包含在旧的NDK预构建的OpenSL库中。所以我犯了一些错误,比如“未定义对'SL_IID_ANDROIDNOISESUPPRESSION'的引用”。我认为这是r17c NDK的问题,因为我在r21b上没有这样的错误。但目前我无法为我的大型遗留跨平台项目更新NDK版本。所以我想在链接到android上的OpenSL ES库时禁用未定义的符号检查。我知道如何在整个项目中这样做,例如在gradle(-DANDROID_ALLOW_UNDEFINED_SYMBOLS=TRUE)中,但是否有可能只在OpenSL库中这样做,或者至少在我的cmake音频模块中这样做(在单独的cmake文件中描述,并包含在主项目中)。 我不太擅长cmake和clang链接器标志。试图在第二天做到这一点却没有成功(

我是如何在android上包含OpenSL的:

target_link_libraries(my_audio
PRIVATE
android
log
atomic
OpenSLES)