(Я отправил этот вопрос на форум VideoLAN, но пока не получил заявок. Я знаю, что сообщество SO не подведет меня.)
Я пытаюсь создать проект MobileVLC для iOS. Я прошел процесс командной строки для создания проекта и после нескольких настроек, описанных в http://forum.videolan.org/viewtopic.php?f=12&t=103331 и http://forum.videolan.org/viewtopic.php?f=12&t=103271, сборка script выполняется почти до завершения. Он ошибается, когда пытается получить Xcode для создания окончательного проекта. Поэтому я загружаю его в Xcode и пытаюсь построить, и я вижу ошибку, вот что я получаю, когда я использую флаг -v-компоновщика:
Ld /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos/VLC.app/VLC normal armv7
cd /Users/bp/Desktop/vlc/MobileVLC
setenv IPHONEOS_DEPLOYMENT_TARGET 5.1
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -L/Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos -L/Users/bp/Desktop/vlc/MobileVLC/External/MobileVLCKit -L/Users/bp/Desktop/vlc/MobileVLC/External/MediaLibraryKit -F/Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos -filelist /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Intermediates/MobileVLC.build/Debug-iphoneos/MobileVLC.build/Objects-normal/armv7/VLC.LinkFileList -dead_strip -Wl,-no_pie,-v -fobjc-link-runtime -miphoneos-version-min=5.1 -framework Foundation -framework UIKit -framework CoreGraphics -framework OpenGLES -framework AudioToolbox -framework QuartzCore -liconv -lz /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos/libMobileMediaLibraryKit.a -lsqlite3 -lstdc++.6 -lbz2 -lxml2 -framework CoreData -framework CoreText -framework MediaPlayer /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos/libMobileVLCKit.a -o /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos/VLC.app/VLC
@(#)PROGRAM:ld PROJECT:ld64-133.3
configured to support archs: armv6 armv7 i386 x86_64
Library search paths:
/Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos
/Users/bp/Desktop/vlc/MobileVLC/External/MobileVLCKit
/Users/bp/Desktop/vlc/MobileVLC/External/MediaLibraryKit
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/lib
Framework search paths:
/Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks/
LLVM version 3.1svn, from Apple Clang 4.0 (build 421.0.60)
ld: 'non_lazy_ptr' in /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos/libMobileVLCKit.a(libdeinterlace_plugin_la-deinterlace.o) contains undefined reference for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Насколько я могу судить, файл libMobileVLCKit.a связан в проекте MobileVLC, поэтому я не уверен, что искать дальше, так как я не могу найти ссылки на non_lazy_ptr в любом месте любого кода, а структура ссылается на все выглядит хорошо. Даже если вы не знаете решения, любые идеи относительно того, где искать проблему, будут оценены. Спасибо.
EDIT: вот скриншот, показывающий все на вкладке "Сборка фаз" проекта MobileVLC.
EDIT 2: Моя публикация на форумах VideoLAN получила некоторые ответы "я тоже", а также ошибка, которая очень похожа на мою ошибку от другого пользователя. Вот окончательная строка с сообщением об ошибке:
ld: '_AmplifyFloat' in /Users/**/MobileVLC/ImportedSources/VLCKit/build/Release-iphoneos/libMobileVLCKit.a(libvolume_neon_plugin_la-volume.o) contains undefined reference for architecture armv7
Вот сообщение на форуме VideoLAN: http://forum.videolan.org/viewtopic.php?f=12&t=103433
ИЗМЕНИТЬ 3: Я взял новую копию источника из репозитория VideoLAN git и прошел через ответ, указанный ниже пользователем1071136, и в итоге получил ту же самую точную ошибку, что и у них.
Я обнаружил аналогичную поисковую ошибку в Stack Overflow, которая указала, что решение должно быть проверено, чтобы убедиться, что параметр Generate Position-Dependent Code
в настройке сборки Apple LLVC compiler 4.0 - Code Generation
установлен на Нет. Но, как обычно, при попытке запустить VLC iOS, который также был тупиком, так как для параметра сборки уже установлено значение No.
Вот ссылка на этот вопрос и ответ: (null): В разделе __TEXT, __ text reloc 3: section Адрес для адреса (0x7C6C) не в любом разделе архитектуры armv7