I am having trouble completing the tutorial to set up SFML 1.6 with CodeBlocks+MinGW (
http://www.sfml-dev.org/tutorials/1.6/start-cb.php). Specifically, when I build the project I get the following build log:
-------------- Build: Debug in sfmlTest ---------------
Compiling: main.cpp
Linking console executable: bin\Debug\sfmlTest.exe
obj\Debug\main.o: In function `main':
C:/Dev/codeBlocksTest/sfmlTest/main.cpp:6: undefined reference to `_imp___ZN2sf5ClockC1Ev'
C:/Dev/codeBlocksTest/sfmlTest/main.cpp:9: undefined reference to `_imp___ZNK2sf5Clock14GetElapsedTimeEv'
C:/Dev/codeBlocksTest/sfmlTest/main.cpp:10: undefined reference to `_imp___ZN2sf5SleepEf'
C:/Dev/codeBlocksTest/sfmlTest/main.cpp:7: undefined reference to `_imp___ZNK2sf5Clock14GetElapsedTimeEv'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
4 errors, 0 warnings
It looks like a problem with my linker configuration, but I've combed through the tutorial a dozen times now and I can't see what I am doing wrong or missing. As far as I can tell, I am following the instructions to the letter. I've set up the Global Compiler Settings >> Search Directory >> Compiler and Linker to point to the appropriate SFML include and lib directories. I've updated my project build options (for both Debug & Release) to include the -lsfml-system library. I've added the compiler SFML_DYNAMIC define as well (again, in both Debug & Release targets). I have verified that all of the directory path settings are valid; I copy & pasted all of them into Windows Explorer to verify. I also copy & pasted the code straight from the tutorial:
#include <SFML/System.hpp>
#include <iostream>
int main()
{
sf::Clock Clock;
while (Clock.GetElapsedTime() < 5.f)
{
std::cout << Clock.GetElapsedTime() << std::endl;
sf::Sleep(0.5f);
}
return 0;
}
I searched around, and did see a couple people with similar issues:
http://en.sfml-dev.org/forums/index.php?topic=6900.msg45530#msg45530http://www.cplusplus.com/forum/beginner/49533/But their solutions have not resolved my errors. I try a full Clean + Rebuild after each change I make as well.
I've verified that I am using the GCC 4.4 compiler:
C:\Program Files (x86)\CodeBlocks\MinGW\bin>gcc --version
gcc (TDM-2 mingw32) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
For reference, here is my Code::Block .cbp project file:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="sfmlTest" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="bin\Debug\sfmlTest" prefix_auto="1" extension_auto="1" />
<Option object_output="obj\Debug\" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
<Add option="-DSFML_DYNAMIC" />
</Compiler>
<Linker>
<Add option="-lsfml-system-d" />
</Linker>
</Target>
<Target title="Release">
<Option output="bin\Release\sfmlTest" prefix_auto="1" extension_auto="1" />
<Option object_output="obj\Release\" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-O2" />
<Add option="-DSFML_DYNAMIC" />
</Compiler>
<Linker>
<Add option="-s" />
<Add option="-lsfml-system" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
<Add option="-fexceptions" />
</Compiler>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<envvars />
<debugger />
<lib_finder disable_auto="1" />
</Extensions>
</Project>
</CodeBlocks_project_file>
Thanks to everyone who takes a look. If any further information would be helpful, just let me know, and I'll put together whatever I can.