Hi,
I was directed here after posting this question on StackOverflow:
http://stackoverflow.com/questions/8546877/sfml-linker-errors-on-os-xI have tried to get both SFML 1.6 and SFML 2.0 working with a game I am working on, however I get a lot of linker errors when trying to compile. To briefly summarise my build process I do the following:
For 1.6: Copy the SFML.framework and other *.framework folders over to /Library/Frameworks - then, in my XCode project I am able to complete all of the necessary includes. The compilation process fails however when it comes to linking, where just about every call I make to SFML fails.
When I figured it could have been because I was using Lion, I downloaded the 2.0 version - configured and generated the Unix makefiles with CMake (pointing to my X11RC freetype dylib) and compiled - the frameworks were generated as well as the examples.
However, after moving the frameworks over to /Library/Frameworks I had the same linker errors as on 1.6.
I noticed that there was another part of the tutorial that involved moving some example XCode projects over ~ however as I understood it (perhaps naively) they were not a necessity for getting SFML to work. I didn't want to move them over as I am only trying out SFML while trying to weigh out my options of either SFML or SDL for my videogame.
Perhaps I should be adding something else to the linker settings? I have pretty much no experience on OSX.
Thank you very much for your time and help! SFML looks extremely promising!
EDIT:
So I spent a little more time, and compiled the 2.0 Frameworks. In XCode I then placed the CMake build directory into the 'Frameworks Search Paths' under 'Build Settings -> Search Paths' which allowed me to search for SFML.framework without having to place it into my /Library/Frameworks folder. When trying to compile, I still got linker errors however if I drag and drop the other frameworks (sfml-audio.framework ... etc) into the Build Phases -> Link Binary with Libraries box I could compile without linker issues.
Unfortunately my output is:
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".tty /dev/ttys001
warning: Unable to read symbols for @executable_path/../Frameworks/SFML.framework/Versions/2.0.0/SFML (file not found).
warning: Unable to read symbols from "SFML" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-audio.framework/Versions/2.0.0/sfml-audio (file not found).
warning: Unable to read symbols from "sfml-audio" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-graphics.framework/Versions/2.0.0/sfml-graphics (file not found).
warning: Unable to read symbols from "sfml-graphics" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-network.framework/Versions/2.0.0/sfml-network (file not found).
warning: Unable to read symbols from "sfml-network" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-system.framework/Versions/2.0.0/sfml-system (file not found).
warning: Unable to read symbols from "sfml-system" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-window.framework/Versions/2.0.0/sfml-window (file not found).
warning: Unable to read symbols from "sfml-window" (not yet mapped into memory).
[Switching to process 51939 thread 0x0]
dyld: Library not loaded: @executable_path/../Frameworks/SFML.framework/Versions/2.0.0/SFML
Referenced from: /Users/chris/Library/Developer/Xcode/DerivedData/XCode-ghnwhzthkgqaznevciahhiiulwdw/Build/Products/Debug/XCode
Reason: image not found
Fixed:
1. Re-configured using CMake.
2. Re-compiled the frameworks using 'make'.
3. Ran 'sudo make install' to install the frameworks'.
4. Searched for the SFML framework, and added it.
5. Drag 'n' Dropped the other frame works into the 'Link Binary with Libraries' field. (or I still got linker errors?)
6. It worked.
Still get these errors, however:
warning: Unable to read symbols for @executable_path/../Frameworks/SFML.framework/Versions/2.0.0/SFML (file not found).
warning: Unable to read symbols from "SFML" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-audio.framework/Versions/2.0.0/sfml-audio (file not found).
warning: Unable to read symbols from "sfml-audio" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-graphics.framework/Versions/2.0.0/sfml-graphics (file not found).
warning: Unable to read symbols from "sfml-graphics" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-network.framework/Versions/2.0.0/sfml-network (file not found).
warning: Unable to read symbols from "sfml-network" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-system.framework/Versions/2.0.0/sfml-system (file not found).
warning: Unable to read symbols from "sfml-system" (not yet mapped into memory).
warning: Unable to read symbols for @executable_path/../Frameworks/sfml-window.framework/Versions/2.0.0/sfml-window (file not found).
warning: Unable to read symbols from "sfml-window" (not yet mapped into memory).