SFML community forums

Help => General => Topic started by: Rimher on September 22, 2012, 07:20:11 pm

Title: SFML Linker Errors on XCode
Post by: Rimher on September 22, 2012, 07:20:11 pm
Hello there! I've been using SFML in the last couple of weeks, and I had no problems up until today.

I'm trying to learn OpenGL, so I started a project from scratch with the SFML2.0 template, I add the libraries to the search path, but then I get a bunch of linker erros:

Quote
Undefined symbols for architecture x86_64:
  "sf::RenderWindow::RenderWindow(sf::VideoMode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, sf::ContextSettings const&)", referenced from:
      _main in main.o
  "sf::Font::loadFromFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      _main in main.o
  "sf::Music::openFromFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      _main in main.o
  "sf::String::String(char const*, std::__1::locale const&)", referenced from:
      _main in main.o
  "sf::Texture::loadFromFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, sf::Rect<int> const&)", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64

I've been looking around for the past hour, without being able to do anything.
This is on XCode 4.5, OSX 10.8.2.

Any help is REALLY appreciated, thanks in advance!
Title: Re: SFML Linker Errors on XCode
Post by: Hiura on September 22, 2012, 10:11:31 pm
I haven't had the time to test Xcode 4.5 yet but I guess (*) you have to :

- either rebuild SFML with C++11 support (see OS X tutorial)
- or configure your project to not use C++11

(*) Apple might have changed the default settings
Title: Re: SFML Linker Errors on XCode
Post by: Rimher on September 23, 2012, 04:20:21 pm
I haven't had the time to test Xcode 4.5 yet but I guess (*) you have to :

- either rebuild SFML with C++11 support (see OS X tutorial)
- or configure your project to not use C++11

(*) Apple might have changed the default settings
I've tried rebuilding everything from source according to the tutorial, but I'm getting the exact same error.
Configuring the project not to use C++11 has worked though. Thanks a lot =)
Title: Re: SFML Linker Errors on XCode
Post by: Hiura on September 23, 2012, 04:29:44 pm
You mean that this part of the tutorial didn't help ?

Quote
C++11

Apple ships a custom version of clang and libc++ with Xcode 4 that support a subset of the C++11 standard (i.e. new features are not yet all implemented). If you plan to use C++11's new functionalities you need to configure your project once it has been created to use clang and libc++.

Moreover, you will need to compile SFML yourself with these tools. Follow the tutorial but instead of choosing Use default native compilers you need to select Specify native compilers. Then put /usr/bin/clang toolchain for the C compiler and /usr/bin/clang++ for the C++ compiler and click Done. Next, display the advanced settings and add -stdlib=libc++ to the CMAKE_CXX_FLAGS variable. Finally, complete the CMake tutorial as usual and jump to Create your first SFML program below.
Title: Re: SFML Linker Errors on XCode
Post by: Rimher on September 23, 2012, 05:20:12 pm
You mean that this part of the tutorial didn't help ?

No, the tutorial worked fine, since I managed to create the makefile and proceed to 'make all'. But then, when I created the project and went to build in XCode the template again, I get the same errors:
1) I need to add manually the Framework search path, otherwise graphics.hpp is not found
2) After the headers are found, the build process fails with the errors that I mentioned in the first post
Title: Re: SFML Linker Errors on XCode
Post by: Hiura on September 23, 2012, 06:38:04 pm
Quote
I need to add manually the Framework search path, otherwise graphics.hpp is not found
This is probably because you didn't update the template.

Anyway, thanks for your report. It seems I'll have to look into it more deeply.
Title: Re: SFML Linker Errors on XCode
Post by: Rimher on September 23, 2012, 07:59:30 pm
Quote
I need to add manually the Framework search path, otherwise graphics.hpp is not found
This is probably because you didn't update the template.

Anyway, thanks for your report. It seems I'll have to look into it more deeply.
Maybe I'm missing what you mean here, but I had indeed checked the option to build the templates too, when building with CMake.
Title: Re: SFML Linker Errors on XCode
Post by: Hiura on September 23, 2012, 08:09:48 pm
Ok, I'll see that too then.