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

构建IJKMediaPlayer.framework静态库失败 #5602

Open
tyrionchen opened this issue Jul 29, 2024 · 4 comments
Open

构建IJKMediaPlayer.framework静态库失败 #5602

tyrionchen opened this issue Jul 29, 2024 · 4 comments

Comments

@tyrionchen
Copy link

Xcode: Version 15.4 (15F31d)

按照主页Build iOS部分的描述构建framework,编译没问题,但是libtool在创建静态库的时候会提示ffmpeg那几个静态库无效。
具体错误如下

libtool -static -arch_only arm64 -D -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk -L/Users/cyy/Library/Developer/Xcode/DerivedData/IJKMediaPlayer-dwocpdslqcgxkxcmyyspfqnpjjiv/Build/Products/Debug-iphoneos -filelist /Users/cyy/Library/Developer/Xcode/DerivedData/IJKMediaPlayer-dwocpdslqcgxkxcmyyspfqnpjjiv/Build/Intermediates.noindex/IJKMediaPlayer.build/Debug-iphoneos/IJKMediaFramework.build/Objects-normal/arm64/IJKMediaFramework.LinkFileList /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavcodec.a /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavfilter.a /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavformat.a /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavutil.a /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswresample.a /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswscale.a  -dependency_info /Users/cyy/Library/Developer/Xcode/DerivedData/IJKMediaPlayer-dwocpdslqcgxkxcmyyspfqnpjjiv/Build/Intermediates.noindex/IJKMediaPlayer.build/Debug-iphoneos/IJKMediaFramework.build/Objects-normal/arm64/IJKMediaFramework_libtool_dependency_info.dat -o /Users/cyy/Library/Developer/Xcode/DerivedData/IJKMediaPlayer-dwocpdslqcgxkxcmyyspfqnpjjiv/Build/Products/Debug-iphoneos/IJKMediaFramework.framework/IJKMediaFramework
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavcodec.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavcodec.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavcodec.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavcodec.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavcodec.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavcodec.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavfilter.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavfilter.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavfilter.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavfilter.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavfilter.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavfilter.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavformat.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavformat.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavformat.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavformat.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavformat.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavformat.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavutil.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavutil.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavutil.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavutil.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavutil.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libavutil.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswresample.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswresample.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswresample.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswresample.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswresample.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswresample.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswscale.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: i386 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswscale.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswscale.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: x86_64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswscale.a(//) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswscale.a(/) is not an object file (not allowed in a library)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: for architecture: arm64 file: /Users/cyy/Desktop/VideoFrameInterpolation/apple/ijkplayer-ios/ios/IJKMediaPlayer/../build/universal/lib/libswscale.a(//) is not an object file (not allowed in a library)
@tyrionchen
Copy link
Author

image

@dissmiss
Copy link

dissmiss commented Aug 1, 2024

碰到了同样的问题

@tyrionchen
Copy link
Author

碰到了同样的问题

我怀疑和xcode版本有关,具体说应该是随xcode安装的编译工具链的版本。
因为我现在macOS系统版本是sonoma 14.5,没办法安装太老的xcode,没办法验证这点

@dissmiss
Copy link

dissmiss commented Aug 5, 2024

碰到了同样的问题

我怀疑和xcode版本有关,具体说应该是随xcode安装的编译工具链的版本。 因为我现在macOS系统版本是sonoma 14.5,没办法安装太老的xcode,没办法验证这点

应该是这样的,换了一台低版本的电脑编译成功了,但也可能和电脑上的某些环境变量或者编译链有关系,现在的这个电脑还有编译so库使用的一套环境,不清楚是否和它有关系

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

No branches or pull requests

2 participants