I can't seem to find the answer.
I've just used Xcode 4 final version and built an existing project that was built ok with Xcode 3, but got this error:
ld: library not found for -lSystem.B
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
But another project was built OK with Xcode 4.
I installed Xcode 4 by choosing the default options.
Do I miss to include a library or framework somewhere?
Could somebody please help. Thank you.
Here's my solution for Xcode 4.0.2 with SDK 4.3 environment, but I believe it should also work on other setups.
libSystem.B.dylib is not present
under
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib,
however it is present for lower SDK
versions (e.g. iPhoneOS4.2.sdk)
most of the cases
libSystem.B.dylib is just a
symbolic link to libSystem.dylib
so in
iPhoneSimulator4.3.sdk/usr/lib
I've applied following command sudo
ln -s libSystem.dylib
libSystem.B.dylib and my simulator
builds started to work again :)
NOTE: libSystem.B.dylib is used by Flurry and Urban Airship so you better don't delete the reference in project file (of course Urban Airship does not work under Simulator, but I think Flurry does. libSystem.B.dylib may also be required by other libraries you included to your project.
UPDATE: solution still works for iOS5 Simulator after upgrading to Xcode 4.3
UPDATE, March 9th, 2k12: for Xcode installations via App Store, prefix above path with /Applications/Xcode.app/Contents or the path where you've installed Xcode.app.
Solved.
Turns out that there was a reference to libSystemB in my project (Don't know why it's there). After deleting the reference, it built well.
Thanks anyway guys!
-weak_library /usr/lib/libSystem.B.dylib breaks the iOS Simulator.
Use -weak-lSystem instead.
The quote belongs to gparker on the official dev forums.
-weak_library /usr/lib/libSystem.B.dylib breaks the iOS Simulator. Use -weak-lSystem instead.
nicktmro got it right, especially when you are developing cocos2d projects using xcode 4.x
I have the same problem since months and always kept making the symbolic link as described here everytime i updated xCode. Today I found a nice new way to fix this:
In your targets Build Phases go to 'Link Binary With Libraries' and search for:
libz.dylib
Set from 'Required' to 'Optional'
BUILD
BE HAPPY
Related
To familiarize myself with the process, before getting real, I tried to build a Watch-only app from the Xcode 11.2.1 template. The build fails when it attempts to copy an item into a file, instead of into a directory. I can hardly believe this isn't something corrupt in my Xcode environment, but it is happening on different Macs.
I created a new project with the "Watch App" template at ~/Development/Watch and ran xcodebuild from that directory. There is quite a lot of successful work done, but the last command (failing) in the build log is (with ... representing ~/Development/):
PBXCp .../Watch/build/Release-watchos/Watch\ WatchKit\ App.app \
.../Watch/build/Release-iphoneos/Watch.app/Watch/Watch\ WatchKit\ App.app
because
error: make directory
.../Watch/build/Release-iphoneos/Watch.app/Watch/Watch WatchKit App.app:
Not a directory
It's failing because .../Watch/build/Release-iphoneos/Watch.app/Watch is not a directory (nor should it be). Is this an Xcode bug (I've seen no reference to it from Apple or in Google searchs), or some stupidity on my part?
This is addressed in the GM Seed of Xcode 11.2.1. If you are writing a Mac Catalyst app, please also see the release notes for Xcode 11.2.1.
For any other issues you encounter while using Xcode, please file bug reports.
Found it!! A sneaky one too ..
It fails if you name the project "Watch" .. name it something else, it's OK.
I'm trying to cross compile qml for Raspberry pi 3 on a x64 Ubuntu.
I followed this tutorial
https://wiki.qt.io/RaspberryPi2EGLFS, installed Qt 5.6.3 and managed to run QtWidgets applications pretty easily and I'm now looking to use QML.
From what I understood, I need to install qtjsbackend and qtdeclarative for it to work so I cloned the github repositories and installed qtjsbackend without any trouble.
now, when I tried to run qmake on qtdeclarative, I got some weird errors:
/home/myname/raspi/qtdeclarative/src/src.pro:13: 'qtConfig' is not a recognized test function.
It keeps going on until:
Reading /home/myname/raspi/qtdeclarative/tests/auto/qml/debugger/qdebugmessageservice/qdebugmessageservice.pro
Project ERROR: Unknown module(s) in QT: qmldebug-private
I can't find anything on the internet about this, does anyone have an idea of what to do ?
The qtjsbackend requirement is old, and only needed for Qt 5.1. Newer qtdeclarative no longer use v8 as a JavaScript engine.
The error you are getting there is caused by a mismatch of version dependencies. You are trying to build a qtdeclarative that looks like it is from either a 5.8/5.9 or dev branch against a qtbase that you say is 5.6. If you have Qt 5.6, you want to build the same major & minor version for qtdeclarative, i.e. 5.6 (or a 5.6.x release)
I would suggest that you either use qt5.git to get you all the dependencies of the version that you need, or use the tarball releases which contain everything in one "blob".
Alternatively, you should be able to install it from your distribution. I would expect that it is already packaged there, though it may not be the newest version possible.
I faced same problem and tried following
Try checking out 5.7 branch from your git repo for qtdeclarative,
git checkout 5.7
then qmake, make and make install.
Hope this helps.
Cheers
Xcode 4 is still my main IDE for iOS development. To try the upcoming iOS 7 I installed Xcode 5 Developer Preview and now all the files that were used to open in Xcode 4 now open in Xcode 5.
How can I revert Xcode 4 to be default editor again without uninstalling Xcode 5?
After reading about LaunchServices in OS X I have finally found the solution, thanks for the hint #peter-m.
To modify files association for certain app one can use lsregister tool. So to re-register the app there is -f parameter, and to unregister -u. Everything can be in fact done with just one command:
$ lsregister -f /Applications/Xcode.app
Or if you want to unregister Xcode 5 and not touch manually set associations earlier:
$ lsregister -u /Applications/Xcode5-DP5.app
lsregister is located in /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/, so add it to your $PATH
Re-login to OS X for changes to apply.
Assuming you don't have any Xcode 5 projects yet, how about manually:
Find an existing XCode 4 project (*.xcodeproj) with the Finder
Do a Get Info of the file
Change Open with: to your desired version of Xcode
Click on Change All
Repeat for all types of files that you want to open with XCode 4
Or if you want to try something more automatic take a look at: programmatically-script-atically-changing-the-default-open-with-setting
Based on the comment below, the problem seems to be with command line builds picking the wrong version of Xcode. In that case I suggest looking at: xcode-build-and-archive-from-command-line, especially the Reid's comment to his own answer which says:
Works fine in Xcode 4.4, and I'm sure it was fine in 4.3 as well. Make sure you have selected the correct Xcode release by using:
xcode-select <path to Xcode.app>
So perhaps the correct solution is based around understanding:
xcode-select -- Manages the path to the Xcode folder for Xcode BSD tools.
I am trying to add webkit framework to Xcode,
steps I followed is
selected the target,
went to the 'build phases' tab,
opened the 'Link binary with Libraries'
Use the + to add the library
But in MacOSX 10.7(Lion),I was not able to see webkit.framework in the framework list.
Any Ideas Where it resides?
I am also using Xcode 4.3.2 on Lion and my webkit framework appears to be in place, check the following directory to make sure your framework hasn't one way or another been deleted. If it isn't at this path, you may need to reinstall Xcode.
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/
I had this problem when I upgraded from Snowleopard to Lion.
I had to install the new version of Xcode (4.3) with the IosSDK.
I am looking for a full guide on how to trick Xcode3 to run under Lion.
I am aware that Apple does not support this, but this doesn't meant it's impossible, it's just not supported.
This is how I upgraded my dev environment to Lion. I am only doing it this way because I'm in a crunch and have some issues with Xcode 4.
I'm just sharing what I did and the issues I encountered, not recommending anything:
I made sure I could build & launch my Apps in 10.6.8 using Xcode 3.2.x.
I upgraded my development machine to Lion 10.7.1.
I can build all my SW products with Xcode 3.2.x.
BUT, the debugger seems unhappy with some things... Though I can step and break, I can't evaluate some expressions. For example, the twist pane won't display contents of complex structures.
I'm wondering if others have debugger issues with the 3.2.x Xcode (GDB) on Lion?
Thanks,
Rick
First you have to obtain the Xcode 3.2.6 install to work. The installer is not going to work on Lion so you have two alternatives:
Run it from another partition where you have 10.6
Path the installer in order to make it run on Lion by following this guide
Also here are some other things you may have to clean inside the xcode projects:
Remove lines like ARCHS = arm7 because it will fail to build for Simulator. Best is to let Xcode use defaults (all supported archs).
Check for SDKROOT = ..., it should be only iphoneos, macosx or undefined (not ""). Keep in mind that the SDK you are building against is not necessary the minimum required SDK for running the application. It's ok if SDKROOT is missing from Xcode project files but it's not ok if it does contain a path or "".
Remove any GCC_VERSION = ...