INSTALL TARGETS given no BUNDLE DESTINATION for MACOSX_BUNDLE executable
IF(ALSOFT_INSTALL)
INSTALL(TARGETS openal-info makehrtf
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
网上大部分解决办法都是将install关闭: -DALSOFT_INSTALL=OFF,但是这样的话,我们就无法install,想要拿到头文件和lib文件就比较麻烦,需要自己手动筛选。
openal-info这类的target其实我们并不需要关心,我们只关心openal,所以不能把install全部关闭,我们直接阻止其他target的生成即可
-DALSOFT_UTILS=OFF \
-DALSOFT_TESTS=OFF \
-DALSOFT_EXAMPLES=OFF \
openal-soft/Alc/backends/coreaudio.c:459:5: error: use of undeclared identifier 'AudioObjectPropertyAddress'
我使用的是v1.19版本,这是一个已知的bug,这个PR就是在修复这个问题,很明显代码没有合并到v1.19分支,自己手动加下就能正常通过编译了,其实看下报错位置的上下文代码,很明显是作者遗漏了添加宏,属于比较低级的问题,所以遇到问题,真的还得看看代码,不能迷信认为开源库的代码尽量不修改
Undefined symbols for architecture arm64:
"_kVTEncodeFrameOptionKey_ForceKeyFrame", referenced from: _vtenc_send_frame in libcocos2d iOS.a(videotoolboxenc.o)
VideoToolbox 是苹果公司提供的一个框架,主要用于在 iOS 和 macOS 平台上实现视频编码和解码功能。它可以利用硬件加速技术,处理高效、低延迟的视频编码,并且能够在移动设备上编解码高清视频,提高设备的性能和功耗效率。
VideoToolbox 提供了丰富的 API,支持流媒体数据的处理、视频数据的解码和编码、视频帧的压缩等功能。开发者可以通过 VideoToolbox 提供的 API 来实现自己的视频应用。以下是 VideoToolbox 的主要特点:
-
高效硬件加速:利用硬件加速技术进行视频编解码,大幅提高了编解码速度和流畅度。
-
支持多种编解码格式:支持 H.264/H.265/MPEG-4 等常见的视频编解码格式。
-
支持多种分辨率:支持包括 1080P/720P/480P 在内的多种分辨率,满足不同场景下的视频需求。
-
适配不同平台:适配 iOS 和 macOS 平台,方便开发者选择目标设备。
-
易于使用:提供简单易用的 API 接口,开发者可快速上手。
使用 VideoToolbox 进行视频编解码可以使开发者在 iOS 和 macOS 平台上实现高效、低延迟的视频编解码,最大程度地满足不同用户场景对于视频应用的需求。
xcode中添加VideoToolbox
编译armv7
使用cmake编译openal,设置ARCHS="armv7"后报错clang: error: invalid iOS deployment version '-target armv7-apple-ios11.0', iOS 10 is the maximum deployment target for 32-bit targets [-Winvalid-ios-deployment-target]
增加编译选项
-DARCHS="armv7" \
-DDEPLOYMENT_TARGET="8.0" \