Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能否提供mac和ios的动态库 #46

Open
Xrysnow opened this issue Oct 12, 2020 · 12 comments
Open

能否提供mac和ios的动态库 #46

Xrysnow opened this issue Oct 12, 2020 · 12 comments
Assignees

Comments

@Xrysnow
Copy link

Xrysnow commented Oct 12, 2020

为了避免LGPL协议的问题,能否提供mac和ios平台的动态库(framework)?同为LGPL协议的OpenAL soft提供了这个编译选项

@wang-bin
Copy link
Owner

macOS提供了dylib,没必要做成framework. iOS后续会加,会编译成FFmpeg.framework

@wang-bin wang-bin self-assigned this Oct 13, 2020
@Xrysnow
Copy link
Author

Xrysnow commented Oct 13, 2020

感谢回复。我在使用dylib的时候遇到了一个问题,在复制进app的时候libffmpeg.4.3.dylib的两个替身都变成了原始文件,不复制替身就只能链接带版本号的dylib(直接改名会提示找不到libffmpeg.4.dylib)。能不能直接提供不带版本号的版本呢?

@wang-bin
Copy link
Owner

可能你用法不正确,运行时库带主版本号的是正常的,链接用libffmpeg.dylib,放到app里用libffmpeg.4.dylib,重命名也好cp -L也好。

@Xrysnow
Copy link
Author

Xrysnow commented Oct 13, 2020

好吧,我再研究一下。Xcode的Copy Files没法处理替身,只能另想办法了。

@wang-bin
Copy link
Owner

你试下最新的ios包,带了libffmpeg.4.dylib。iOS不能在framework外有dylib,不然会被拒绝上架。可以尝试下这个方法:新建个FFmpeg.framework文件夹,把libffmpeg.4.dylib复制进去,在FFmpeg.framework里运行ln -sf libffmpeg.4.dylib FFmpeg,链接的时候参数加上-Wl,-rpath,@executable_path/../Frameworks/FFmpeg.framework

@Xrysnow
Copy link
Author

Xrysnow commented Dec 12, 2020

你好,我发现手动用dylib制作的framework无法通过签名,提示找不到路径XXX.framework/Versions/A,把替身放到该路径也不行,提示bundle format unrecognized, invalid, or unsuitable。Xcode版本是11.3.1,系统版本是10.15.7。

另外据我了解,mac版本要上架也是只能用framework的。

@cherishloveyou
Copy link

cherishloveyou commented Jul 18, 2022

Showing Recent Errors Only
Undefined symbol: _wolfSSL_CTX_SetIORecv

@wang-bin
Copy link
Owner

@cherishloveyou try the latest master build

@cherishloveyou
Copy link

@cherishloveyou try the latest master build

Undefined symbols for architecture arm64:
"_xmlCheckVersion", referenced from:
_parse_manifest in libavformat.a(dashdec.o)

@wang-bin
Copy link
Owner

add -lxml2 to link flags

@cherishloveyou
Copy link

add -lxml2 to link flags

Yes, seems it work!
is the reason ffmpeg 5.0 should link xml2?
like pre version ffmpeg link libiconv.tbd libz.tbd libbz2.tbd?

@wang-bin
Copy link
Owner

libxml2 is used by dash. you can build yourself and disable dash

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants