Xcode 警告:无法打开 OSO 文件

发布于 2024-12-12 15:17:46 字数 17067 浏览 0 评论 0原文

我将 Xcode 项目中的 ffmpeg dylibs 升级到了新版本,现在当我运行应用程序时,我会在 Xcode 控制台窗口中收到所有这些警告。有什么想法我为什么要得到这些吗?

提前致谢!

这是一个缩写版本,但您会明白的。

warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/4xm.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/4xm.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/8bps.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/8bps.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/8svx.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/8svx.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/a64multienc.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/a64multienc.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_ac3_parser.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_ac3_parser.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_adtstoasc_bsf.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_adtstoasc_bsf.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_parser.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_parser.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacadtsdec.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacadtsdec.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aaccoder.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aaccoder.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacdec.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacdec.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacenc.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacenc.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacps.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacps.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacpsy.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacpsy.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacsbr.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacsbr.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aactab.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aactab.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aandcttab.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aandcttab.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aasc.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aasc.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3_parser.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3_parser.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dec.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dec.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dec_data.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dec_data.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dsp.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dsp.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_combined.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_combined.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_fixed.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_fixed.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_float.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_float.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3tab.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3tab.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/acelp_filters.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/acelp_filters.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/acelp_pitch_delay.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/acelp_pitch_delay.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib

I upgraded the ffmpeg dylibs in my Xcode project to a new version and now I get all these warnings in the Xcode console window when I run my app. Any ideas why I'm getting these?

Thanks in advance!

Here's an abbreviated version, but you'll get the idea.

warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/4xm.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/4xm.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/8bps.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/8bps.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/8svx.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/8svx.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/a64multienc.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/a64multienc.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_ac3_parser.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_ac3_parser.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_adtstoasc_bsf.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_adtstoasc_bsf.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_parser.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aac_parser.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacadtsdec.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacadtsdec.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aaccoder.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aaccoder.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacdec.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacdec.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacenc.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacenc.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacps.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacps.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacpsy.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacpsy.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacsbr.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aacsbr.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aactab.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aactab.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aandcttab.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aandcttab.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aasc.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/aasc.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3_parser.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3_parser.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dec.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dec.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dec_data.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dec_data.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dsp.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3dsp.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_combined.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_combined.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_fixed.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_fixed.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_float.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3enc_float.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3tab.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/ac3tab.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/acelp_filters.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/acelp_filters.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib
warning: .o file "/Users/username/Downloads/ffmpeg-0.8.5/libavcodec/acelp_pitch_delay.o" more recent than executable timestamp in "/Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib"
warning: Could not open OSO file /Users/username/Downloads/ffmpeg-0.8.5/libavcodec/acelp_pitch_delay.o to scan for pubtypes for objfile /Users/username/Library/Developer/Xcode/DerivedData/MyApp-cjpuovfvlxckuddiuysbbosqgbsj/Build/Products/Debug/MyProject.framework/Versions/A/Libraries/libavcodec.dylib

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

羅雙樹 2024-12-19 15:17:47

如何消除“无法打开 OSO”并强制加载“o”:


免责声明:您不应该这样做:)


如前所述 ,错误消息告诉您您的 dylib 的调试信息不正确

然而,如果出于某种奇异的原因,您认为您的“o”文件(尽管它们可能带有错误的时间戳而被污染)确实包含正确的信息,并且您需要将它们加载到 gdb 中,那么请继续...

对于下面的示例代码,我假设有一个名为 abcdefg.o 的 o 文件和一个名为 lib_jklmnop.dylib 的 dylib


第一步。 运行此命令:

nm -ap lib_jklmnop.dylib  | grep OSO | awk '{printf("%s %s\n", toupper($1), $0 )}'

输出应包含:

00000000560D902C 00000000560d902c - 03 0001   OSO /some/file/path/abcdefg.o

注意:你必须找到其中包含“abcdefg.o”的输出行。我们仅修复一个文件的 OSO 警告:abcdefg.o,因此,如果您不使用与该文件对应的时间戳,则以下步骤毫无意义。

第二步。获取第一列中的十六进制数(本例中为 560D902C),然后通过 python 运行它,如下所示:(

echo import datetime\; t=datetime.datetime.fromtimestamp\( 0x560D902C \) \; print \( t.strftime\(\'%Y%m%d%H%M.%S\'\) \) | python3

您可以使用 perl 或其他东西来执行此步骤。Python 似乎易于访问且可移植出于演示目的。)以上将采用“0x560D902C”并生成格式化时间戳:201510011257.32

第三步。使用从步骤 2 获取的格式化时间戳,运行 touch 命令来更改 abcdefg.o 上的时间戳:

touch -t 201510011257.32  abcdefg.o

现在“o”上的时间戳与 dylib 中的 OSO 条目匹配。 GDB 将加载这个“o”文件。

(对于后代:在 Mac OS X 10.8.5 上使用 GNU gdb 6.3.50-20050815 Apple 版本 gdb-1824 进行测试)

推荐阅读:

Apple DWARF 调试方案

Bugzilla@Mozilla - GDB 抱怨 .o 文件具有较新的时间戳比可执行文件

How to neutralize "Could not open OSO" and force the "o"s to load:


Disclaimer: you should not do this :)


As explained previously, the error messages tell you that your debug info is the incorrect info for your dylib.

However, if for some exotic reason you believe that your "o" files—stained though they may be with bad timestamps—really do contain proper info and you need them loaded in gdb, then proceed...

For the sample code below, I assume an o file named abcdefg.o and a dylib named lib_jklmnop.dylib


Step One. Run this command:

nm -ap lib_jklmnop.dylib  | grep OSO | awk '{printf("%s %s\n", toupper($1), $0 )}'

The output should contain:

00000000560D902C 00000000560d902c - 03 0001   OSO /some/file/path/abcdefg.o

Note: you must find an output line with "abcdefg.o" in it. We are fixing the OSO warning for only one file: abcdefg.o, so if you do not use the timestamp corresponding to that file then the following steps are pointless.

Step Two. Take the hexadecimal number in the first column (560D902C in this example), and run it through python like so:

echo import datetime\; t=datetime.datetime.fromtimestamp\( 0x560D902C \) \; print \( t.strftime\(\'%Y%m%d%H%M.%S\'\) \) | python3

(You could use perl or something else for this step. Python seemed accessible and portable for demonstration purposes.) The above will take the "0x560D902C" and produce a formatted timestamp: 201510011257.32

Step Three. Using the formatted timestamp obtained from step 2, run the touch command to alter the timestamp on abcdefg.o:

touch -t 201510011257.32  abcdefg.o

Now the timestamp on the "o" matches the OSO entry in the dylib. GDB will load this "o" file.

(For posterity: tested on Mac OS X 10.8.5 with GNU gdb 6.3.50-20050815 Apple version gdb-1824)

Recommended reading:

Apple DWARF debug scheme

Bugzilla@Mozilla - GDB complains of .o files having newer timestamp than executable

笑咖 2024-12-19 15:17:47

当我看到这个时,我经常发现清理和重建可以修复警告。

When I see this, I often found that clean and rebuild will fix the warnings.

我很坚强 2024-12-19 15:17:47

我已经忍受 gdb 中的“无法打开 OSO 文件”输出几个星期了。随意的谷歌搜索总是让我回到这里。

@kakyo 的答案(尝试重建)有效,但我想了解更多。

基本(众所周知?)背景信息:“o”文件和“dylib”文件都是在构建过程中生成的。 “o”文件包含调试信息。但是,当链接器链接“o”文件以创建“dylib”时,该调试信息不会放入生成的dylib中。

警告表明“o”文件上的时间戳比“dylib”上的时间戳更新。实际上,这种区别至关重要,警告将“o”文件的时间与 dylib 中的时间戳进行比较。您可以使用以下命令查看 dylib 中与 OSO 相关的时间戳:

bash_prompt$ nm -ap libavcodec.dylib  | grep OSO

00000000560d913f - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/4xm.o
00000000560d913f - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/8bps.o
00000000560d913e - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/8svx.o
00000000560d913e - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/a64multienc.o
00000000560d9140 - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/aac_parser.o
00000000560d9141 - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/aaccoder.o

请注意:第一列中的十六进制值是时间戳。

GDB(调试器)在dylib记录的路径下找到o文件,然后GDB检查时间戳。

这个时间戳检查功能最明显的用例似乎如下:

  1. 您的产品(比如说您公司的“旗舰应用程序”)在您的应用程序包中附带了一些第三方 dylib(例如 ffmpeg dylibs)。
  2. 您在 GDB 下启动您的应用程序,并且您的应用程序加载第三方 dylib。
  3. 哎呀!您的应用程序包包含 third_party.dylib过时副本。您昨天实际上构建了一个新的 third_party.dylib (它生成了一个新的 dylib 新的“o”文件)。这些新的第三方项目都在“~/third_party/other_folder”中,而您忘记将最新的 third_party.dylib 复制到您的应用程序包中。

假设 Third_party.dylib 始终构建在同一(项目外部)目录中,那么这些时间戳检查是提醒您“哎呀!”的一种方法。如上所述。您过时的 third_party.dylib 副本(应用程序包中的副本)包含指向“~/third_party/other_folder/someclass.o”的“OSO”条目,但调试器警告您“~/third_party/other_folder/someclass.o”最近已重新编译,并且您似乎没有使用与以下内容对应的 dylib最新编译。

有趣的琐事:错误显示“比可执行时间戳更新”[重点是我的] - 但这并不总是正确的!如果时间戳比 dylib OSO 条目期望的时间戳新或旧,就会出现该错误。当严格时间戳相等测试失败时会出现该错误。在这里查看相关的gdb源代码:

https://github.com/unofficial-opensource-apple/gdb/blob/ae8094e0d84d94fc0ad9b5ecdcd79acd722879f8/src/gdb/dbxread.c
http://www.opensource.apple。 com/source/gdb/gdb-952/src/gdb/dbxread.c

最后说明:要真正解决“无法打开 OSO”错误,请返回到@kakyo 原来的​​正确建议

I had been tolerating this "Could not open OSO file" output in gdb for several weeks. Casual googling always brought me back here.

@kakyo's answer (try a rebuild) works, but I wanted to know more.

Essential (well-known?) background information: both the "o" files and the "dylib" files are produced during a build. The "o" files contain debug info. However, when the linker links the "o" files to create a "dylib", that debug info is not placed into the resulting dylib.

The warnings announce that the timestamp on the "o" file is more recent than the timestamp on the "dylib". Actually—and this distinction is crucial—the warnings compare the time of the "o" file to a timestamp in the dylib. You can view the OSO-related timestamps in a dylib using this command:

bash_prompt$ nm -ap libavcodec.dylib  | grep OSO

00000000560d913f - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/4xm.o
00000000560d913f - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/8bps.o
00000000560d913e - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/8svx.o
00000000560d913e - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/a64multienc.o
00000000560d9140 - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/aac_parser.o
00000000560d9141 - 03 0001   OSO /Downloads/ffmpeg-0.8.5/libavcodec/aaccoder.o

Please note: The hexadecimal values in the first column are timestamps.

GDB (the debugger) finds the o files at the paths recorded in the dylib, and then GDB checks the timestamps.

It seems the most obvious use case for this timestamp-checking feature is as follows:

  1. Your product (your company's "flagship application", let's say) ships with some third-party dylib (like the ffmpeg dylibs) inside your app bundle.
  2. You launch your application under GDB, and your application loads the third-party dylib.
  3. Oops! Your app bundle contains an outdated copy of third_party.dylib. You actually built a fresh third_party.dylib yesterday (which produced a fresh dylib and fresh "o" files). Those fresh third-party items are all in "~/third_party/other_folder", and you forgot to copy the latest third_party.dylib into your app bundle.

Assuming third_party.dylib is always built in the same (project-external) directory, then these timestamp-checks are one way to alert you to exactly the "Oops!" described above. Your out-dated copy of third_party.dylib (the copy in your app bundle) has "OSO" entries pointing to "~/third_party/other_folder/someclass.o", but the debugger is alerting you to the fact that "~/third_party/other_folder/someclass.o" has been recently re-compiled, and you appear to not be using the dylib corresponding to the latest compilation.

Interesting Trivia: The error says "more recent than executable timestamp" [emphasis is mine]—but that isn't always true! The error will appear if the timestamp is either newer or older than what the dylib OSO entry expects. The error appears when a test of strict timestamp equality fails. View the relevant gdb source code here:

https://github.com/unofficial-opensource-apple/gdb/blob/ae8094e0d84d94fc0ad9b5ecdcd79acd722879f8/src/gdb/dbxread.c
http://www.opensource.apple.com/source/gdb/gdb-952/src/gdb/dbxread.c

Final note: to actually resolve the "Could not open OSO" error, please return to @kakyo's original correct advice

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文