1
votes

I am attempting to upgrade our Unity project from 4.5.4 to 4.6.1.

I can build the Xcode project out of Unity like normal. But, when I try to build that project from Xcode, I now get the following linker error:

ld: warning: directory not found for option '-F-filelist' ld: warning: ignoring file /Users/Eva/Library/Developer/Xcode/DerivedData/Unity-iPhone-dxcgletahzpcceadqwpribfbdgbg/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos/Unity-iPhone.build/Objects-normal/armv7/supertestgame.LinkFileList, file was built for unsupported file format ( 0x2F 0x55 0x73 0x65 0x72 0x73 0x2F 0x45 0x76 0x61 0x2F 0x4C 0x69 0x62 0x72 0x61 ) which is not the architecture being linked (armv7): /Users/Eva/Library/Developer/Xcode/DerivedData/Unity-iPhone-dxcgletahzpcceadqwpribfbdgbg/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos/Unity-iPhone.build/Objects-normal/armv7/supertestgame.LinkFileList ld: entry point (_main) undefined. for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Here is the complete command that the linker is being passed:

Ld /Users/Eva/Library/Developer/Xcode/DerivedData/Unity-iPhone-dxcgletahzpcceadqwpribfbdgbg/Build/Products/supertestgame.app/supertestgame normal armv7 cd /Users/Eva/Documents/bin/sps export IPHONEOS_DEPLOYMENT_TARGET=6.0 export 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/iPhoneOS8.1.sdk -L/Users/Eva/Library/Developer/Xcode/DerivedData/Unity-iPhone-dxcgletahzpcceadqwpribfbdgbg/Build/Products -L/Users/Eva/Documents/bin/sps/../../testgame_unity/Assets/Editor/Flurry/Ads -L/Users/Eva/Documents/bin/sps/../../testgame_unity/Assets/Editor/Flurry/Analytics -L/Users/Eva/Documents/bin/sps/../../testgame_unity/Assets/Editor/GameCenter -L/Users/Eva/Documents/bin/sps/../../testgame_unity/Assets/Editor/iCloud -L/Users/Eva/Documents/bin/sps/../../testgame_unity/Assets/Editor/Prime31Shared -L/Users/Eva/Documents/bin/sps/../../testgame_unity/Assets/Editor/SocialNetworking/Twitter -L/Users/Eva/Documents/bin/sps/../../testgame_unity/Assets/Editor/StoreKit -L/Users/Eva/Documents/bin/sps -L/Users/Eva/Documents/bin/sps/Libraries -F/Users/Eva/Library/Developer/Xcode/DerivedData/Unity-iPhone-dxcgletahzpcceadqwpribfbdgbg/Build/Products -F/Users/Eva/Documents/bin/sps/../../testgame_unity/Assets/Editor/SocialNetworking/FacebookSDK -F/Users/Eva/Documents/bin/sps/../../testgame_unity/Assets/Plugins/Everyplay/iOS -F -filelist /Users/Eva/Library/Developer/Xcode/DerivedData/Unity-iPhone-dxcgletahzpcceadqwpribfbdgbg/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos/Unity-iPhone.build/Objects-normal/armv7/supertestgame.LinkFileList -dead_strip -weak_framework CoreMotion -weak-lSystem -all_load -ObjC -stdlib=libstdc++ -fobjc-link-runtime -miphoneos-version-min=6.0 -framework CoreText -framework Everyplay -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework OpenAL -liconv.2 -liPhone-lib -framework AudioToolbox -framework CFNetwork -framework MediaPlayer -framework CoreLocation -framework SystemConfiguration -weak_framework iAd -framework CoreMedia -framework CoreVideo -weak_framework AVFoundation -framework CoreGraphics -weak_framework CoreMotion -weak_framework GameKit -lFlurryAds -lFlurry -lGameCenterPlugin -lP31MonoBridge -liCloudPlugin -lP31SharedTools -framework FacebookSDK -lP31Twitter -lStoreKit -framework AssetsLibrary -weak_framework MessageUI -weak_framework AdSupport -framework CoreData -framework Security -weak_framework Accounts -weak_framework Social -weak_framework Twitter -weak_framework StoreKit -lz.1.1.3 -lz -lsqlite3.0 -Xlinker -dependency_info -Xlinker /Users/Eva/Library/Developer/Xcode/DerivedData/Unity-iPhone-dxcgletahzpcceadqwpribfbdgbg/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos/Unity-iPhone.build/Objects-normal/armv7/supertestgame_dependency_info.dat -o /Users/Eva/Library/Developer/Xcode/DerivedData/Unity-iPhone-dxcgletahzpcceadqwpribfbdgbg/Build/Products/supertestgame.app/supertestgame

My info under Architectures (in XCode) looks like this:

Architectures: armv7 Base SDK: Latest iOS (iOS 8.1) Build Active Architecture Only: No Support Platforms: iphoneos Valid Architectures: arm64 armv7 armv7s

I guess the first thing I need to know is, what generates that *.LinkFileList? Is it Unity, or XCode?

Any idea what could be the cause of this issue?

Many Thanks!

1

1 Answers

2
votes

Ok I managed to stumble upon the fix after a day of trying everything under the sun. Curious about the first warning (which I was under the assumption that it was unrelated to my issue):

ld: warning: directory not found for option '-F-filelist'

I turned on linker verbosity (added a -v to the linker command list). I noticed this in there at the end:

-F/Users/Eva/Documents/bin/testgame/../../../Desktop/everyplay-ios-sdk-master -F/Users/Eva/Documents/bin/testgame/../../testgame_unity/Assets/Editor/SocialNetworking/FacebookSDK -F-filelist

Turns out that corresponds to the list of 3 Framework Search Paths in the project, the 3rd one being $(inherited) in the project's Build Settings. And so just for fun I deleted that 3rd entry, and away my build went!

I don't know what or if there will be any repercussions from doing that, but for now that is what I am going with.