SFML community forums
Help => General => Topic started by: HeinzK on April 25, 2012, 09:36:59 am
-
I am new with SFML, Windows 7/64, Visual Studio 2011.
(http://www.zwianer.de/images/Problem_HelloSFML.png)
First time, the Text 'Hello SFML' is not displayed, until move the mouse into the window.
-
Your drawing code is inside the event loop, so nothing is drawn until something happens to the window. The tutorial's code is correct, read it carefully.
-
Sorry .. I see .. and now my next question:
1>sfml-system-s-d.lib(Clock.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(Clock.cpp.obj)" oder ..
Linker:
/OUT:"C:\Kempter\VC10\TestSFMLPrj\Debug\TestSFML.exe" /INCREMENTAL /NOLOGO /LIBPATH:"C:\Kempter\VC10\TestSFMLPrj\lib" "sfml-system-s-d.lib" "sfml-window-s-d.lib" "sfml-graphics-s-d.lib" "sfml-network-s-d.lib" "sfml-audio-s-d.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /NODEFAULTLIB:"LIBCMT" /MANIFEST:NO /ManifestFile:"Debug\TestSFML.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Kempter\VC10\TestSFMLPrj\Debug\TestSFML.pdb" /SUBSYSTEM:CONSOLE /PGD:"C:\Kempter\VC10\TestSFMLPrj\Debug\TestSFML.pgd" /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:QUEU
What can/must I do?
-
1>sfml-system-s-d.lib(Clock.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(Clock.cpp.obj)" oder ..
Just a normal warning, nothing to do (english translation would have been better).
Is the program working now?
-
Sorry .. I see .. and now my next question:
1>sfml-system-s-d.lib(Clock.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(Clock.cpp.obj)" oder ..
What can/must I do?
It would have been more helpfull if you had posted the full warning message and put the whole block into a 'code' tag.
For you problem: The compiler or linker doesn't just print out error numbers for fun, they are meant to help you track down what's wrong, by reading the coresponding MSDN article: English (http://msdn.microsoft.com/en-us/library/b7whw3f3(v=vs.80).aspx), German (http://msdn.microsoft.com/de-de/library/b7whw3f3(v=vs.80).aspx)
-
a) The program ist working now.
b) LNK4099: 'Not for fun', but I do not understand the full backround/hints.
-
Here the full warning message:
1>------ Neues Erstellen gestartet: Projekt: TestSFML, Konfiguration: Debug Win32 ------
1>Der Buildvorgang wurde am 25.04.2012 14:13:06 gestartet.
1>_PrepareForClean:
1> Die Datei "Debug\TestSFML.lastbuildstate" wird gelöscht.
1>InitializeBuildStatus:
1> "Debug\TestSFML.unsuccessfulbuild" wird erstellt, da "AlwaysCreate" angegeben wurde.
1>ClCompile:
1> stdafx.cpp
1> TestSFML.cpp
1>sfml-system-s-d.lib(Clock.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(Clock.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(Err.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(Err.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(Lock.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(Lock.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(Mutex.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(Mutex.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(Sleep.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(Sleep.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(String.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(String.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(ThreadLocal.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(ThreadLocal.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(Time.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(Time.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(ClockImpl.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(ClockImpl.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(MutexImpl.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(MutexImpl.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(SleepImpl.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(SleepImpl.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-system-s-d.lib(ThreadLocalImpl.cpp.obj) : warning LNK4099: PDB "sfml-system-s-d.pdb" wurde nicht mit "sfml-system-s-d.lib(ThreadLocalImpl.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-system-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(GlContext.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(GlContext.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(GlResource.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(GlResource.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(JoystickManager.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(JoystickManager.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(VideoMode.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(VideoMode.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(Window.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(Window.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(WindowImpl.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(WindowImpl.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(WglContext.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(WglContext.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(JoystickImpl.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(JoystickImpl.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(VideoModeImpl.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(VideoModeImpl.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-window-s-d.lib(WindowImplWin32.cpp.obj) : warning LNK4099: PDB "sfml-window-s-d.pdb" wurde nicht mit "sfml-window-s-d.lib(WindowImplWin32.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-window-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(Color.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(Color.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(Font.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(Font.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(GLCheck.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(GLCheck.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(Image.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(Image.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(ImageLoader.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(ImageLoader.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(RenderStates.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(RenderStates.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(RenderTarget.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(RenderTarget.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(RenderWindow.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(RenderWindow.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(Shader.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(Shader.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(Text.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(Text.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(Texture.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(Texture.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(TextureSaver.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(TextureSaver.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(Transform.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(Transform.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(Transformable.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(Transformable.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(View.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(View.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(Vertex.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(Vertex.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1>sfml-graphics-s-d.lib(VertexArray.cpp.obj) : warning LNK4099: PDB "sfml-graphics-s-d.pdb" wurde nicht mit "sfml-graphics-s-d.lib(VertexArray.cpp.obj)" oder an "C:\Kempter\VC10\TestSFMLPrj\Debug\sfml-graphics-s-d.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
1> TestSFML.vcxproj -> C:\Kempter\VC10\TestSFMLPrj\Debug\TestSFML.exe
1>FinalizeBuildStatus:
1> Die Datei "Debug\TestSFML.unsuccessfulbuild" wird gelöscht.
1> Aktualisieren des Timestamps von "Debug\TestSFML.lastbuildstate".
1>
1>Das Erstellen war erfolgreich.
1>
1>Verstrichene Zeit 00:00:02.05
========== Alles neu erstellen: 1 erfolgreich, Fehler bei 0, 0 übersprungen ==========
I need some help .. I only have found <vc100.pdb> and <TestSFML.pdp> .. is it possible to link without these warnings?
-
The warning means that the files containing the debug symbols for SFML (.pdb files) are not found by the debugger. Which is expected since these files are not distributed in the SFML packages.
So your two options are:
- disable this specific warning in your project settings
- recompile SFML to get the debug symbols files
In any case, it won't have any impact on your own program.
-
I need tips:
a) How disable the LNK4099 .. I have searched for, but no way founded ?
b) Recompile SFML .. how to do that ?
-
a) How disable the LNK4099 .. I have searched for, but no way founded ?
http://lmgtfy.com/?q=visual+studio+disable+linker+warning
b) Recompile SFML .. how to do that ?
It is explained in the tutorials.
-
a) How disable the LNK4099 .. I have searched for, but no way founded ?
I have try with: #pragma warning(disable : 4099) .. but this have no reaction.
I have look for your link .. an found this:
If you are comfortable with a hex editor, there is an effective solution to this problem in http://www.bottledlight.com/docs/lnk4099.html
Essentially, hex edit your link.exe (after backing it up!) to zap the occurrence of 4099 in the list of non-ignorable warnings. I did it and the hundred or so 4099 warnings disappeared! As the article says, look for the hex bytes 03 10 00 00 (which is 4099 as a 32-bit little-endian hex value). Change it to (say) FF FF 00 00, save the file and you're done.
But, I do not want to hack the <link.exe>.
b) Recompile SFML .. how to do that ?
Ok .. I look forwards ..
-
The first answers say to add "/ignore:4099" to the linker command line. Have you tried?
-
Yes, I try .. but it have no effect.
(http://www.zwianer.de/images/Problem_HelloSFML2.png)
-
My answer to this problem (LNK4099):
DEBUG: sfml-xxx-d.lib
RELEASE: sfml-xxx-s.lib
-
Since the problem is specific to static libraries in debug mode, linking to dynamic libraries in debug makes the problem disappear indeed. But this is not really a solution since it forces you to link dynamically in debug mode.
-
I'm not sure how VS11 handles the /ignore flag but apparently it varies widely (base on this Stackoverflow (http://stackoverflow.com/questions/661606/visual-c-how-to-disable-specific-linker-warnings) question).
The second answer also links to George Chapples website (http://www.geoffchappell.com/studies/msvc/link/link/options/ignore.htm)where he's made a study on the linker flags and some seem too important to be ignored.
To specify any of these in a /ignore option is not an error and brings no complaint. The specification is just not acted on. Should the specified warning ever occur, a warning message will still be displayed, and if the /wx option is active, the warning will still be promoted to an error.
It seems VS doesn't (always) follow the specification.
Then again nobody will die if you ignore the warning.
Worst case scenario you can't set every a breakpoint in the SFML code. ;D
If you're really really really annoyed by the warning you still could download the whole package from GitHub and build it on your own.
-
New Problem .. I try SFML 2.0 under Ubuntu 10.04 LTS
||=== TestLinuxSFML, Debug ===|
||warning: libGLEW.so.1.7, needed by /home/ubuntu/sfml/lib/libsfml-graphics.so, not found (try using -rpath or -rpath-link)|
||warning: libjpeg.so.8, needed by /home/ubuntu/sfml/lib/libsfml-graphics.so, not found (try using -rpath or -rpath-link)|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewDeleteFramebuffersEXT'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewUniformMatrix4fvARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__GLEW_EXT_blend_func_separate'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__GLEW_ARB_shading_language_100'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `jpeg_stdio_dest@LIBJPEG_8.0'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewGetHandleARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewBindFramebufferEXT'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewGenFramebuffersEXT'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewCheckFramebufferStatusEXT'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewAttachObjectARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `jpeg_CreateCompress@LIBJPEG_8.0'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewRenderbufferStorageEXT'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__GLEW_ARB_fragment_shader'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewUniform1fARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewFramebufferTexture2DEXT'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewLinkProgramARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `jpeg_set_defaults@LIBJPEG_8.0'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewGetObjectParameterivARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `jpeg_destroy_compress@LIBJPEG_8.0'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__GLEW_ARB_shader_objects'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewUniform2fARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `glewInit'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__GLEW_EXT_framebuffer_object'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `jpeg_set_quality@LIBJPEG_8.0'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__GLEW_ARB_texture_non_power_of_two'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewDeleteObjectARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `glewGetErrorString'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewCreateProgramObjectARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `jpeg_write_scanlines@LIBJPEG_8.0'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewUseProgramObjectARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewCreateShaderObjectARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewUniform3fARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewGetInfoLogARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewUniform1iARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewUniform4fARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewGenRenderbuffersEXT'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewBlendFuncSeparateEXT'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewGetUniformLocationARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewActiveTextureARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `jpeg_start_compress@LIBJPEG_8.0'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `jpeg_std_error@LIBJPEG_8.0'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewCompileShaderARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__GLEW_ARB_vertex_shader'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `jpeg_finish_compress@LIBJPEG_8.0'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewShaderSourceARB'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewBindRenderbufferEXT'|
/home/ubuntu/sfml/lib/libsfml-graphics.so||undefined reference to `__glewFramebufferRenderbufferEXT'|
||=== Build finished: 47 errors, 2 warnings (0 minutes, 0 seconds) ===|
root@ubuntu-dev:/home/ubuntu# sudo apt-get install libglew1.7-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package libglew1.7-dev
EDIT: 06.05.2012:
I have found libjpeg8:
#open a terminal as admin:
cd Downloads
wget http://www.ijg.org/files/jpegsrc.v8a.tar.gz
tar xvfz jpegsrc.v8a.tar.gz
cd jpeg-8a
./configure
make
make install
ldconfig
I have found libGLEW.so.1.7:
Download on Site: http://sourceforge.net/projects/glew/files/glew/1.7.0/ and Readme.txt.
*** Now, SFML2.0 works on Ubuntu 10.04 and Code::Blocks ***
-
Yeah, that's why building from sources is the best solution when the library is not available in your distro's repositories. I compiled SFML on a Debian/unstable, so it is linked against more recent versions of its dependencies.
However, I didn't think my compiled binaries would keep a reference to the complete filename with version (libGLEW.so.1.7) but rather to libGLEW.so. I don't know if I can solve that.
-
Thank you for Infos. Now I go on holiday .. come back 02.05.2012 .. see you later .. :)
-
Ubuntu: I’ve now build the SFML 2.0 binaries.
'Debug' is working now!
But 'release' still with Problems:
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::setCurrentSize(unsigned int) const':|
Font.cpp|| undefined reference to `FT_Set_Pixel_Sizes'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::getLineSpacing(unsigned int) const':|
Font.cpp|| undefined reference to `FT_Set_Pixel_Sizes'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::getKerning(unsigned int, unsigned int, unsigned int) const':|
Font.cpp|| undefined reference to `FT_Set_Pixel_Sizes'|
Font.cpp|| undefined reference to `FT_Get_Char_Index'|
Font.cpp|| undefined reference to `FT_Get_Char_Index'|
Font.cpp|| undefined reference to `FT_Get_Kerning'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::cleanup()':|
Font.cpp|| undefined reference to `FT_Done_Face'|
Font.cpp|| undefined reference to `FT_Done_FreeType'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::~Font()':|
Font.cpp|| undefined reference to `FT_Done_Face'|
Font.cpp|| undefined reference to `FT_Done_FreeType'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::loadFromStream(sf::InputStream&)':|
Font.cpp|| undefined reference to `FT_Init_FreeType'|
Font.cpp|| undefined reference to `FT_Open_Face'|
Font.cpp|| undefined reference to `FT_Select_Charmap'|
Font.cpp|| undefined reference to `FT_Done_Face'|
Font.cpp|| undefined reference to `FT_Done_FreeType'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::loadFromMemory(void const*, unsigned int)':|
Font.cpp|| undefined reference to `FT_Init_FreeType'|
Font.cpp|| undefined reference to `FT_New_Memory_Face'|
Font.cpp|| undefined reference to `FT_Select_Charmap'|
Font.cpp|| undefined reference to `FT_Done_Face'|
Font.cpp|| undefined reference to `FT_Done_FreeType'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::loadFromFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':|
Font.cpp|| undefined reference to `FT_Init_FreeType'|
Font.cpp|| undefined reference to `FT_New_Face'|
Font.cpp|| undefined reference to `FT_Select_Charmap'|
Font.cpp|| undefined reference to `FT_Done_Face'|
Font.cpp|| undefined reference to `FT_Done_FreeType'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::~Font()':|
Font.cpp|| undefined reference to `FT_Done_Face'|
Font.cpp|| undefined reference to `FT_Done_FreeType'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::loadGlyph(unsigned int, unsigned int, bool) const':|
Font.cpp|| undefined reference to `FT_Set_Pixel_Sizes'|
Font.cpp|| undefined reference to `FT_Load_Char'|
Font.cpp|| undefined reference to `FT_Get_Glyph'|
Font.cpp|| undefined reference to `FT_Glyph_To_Bitmap'|
Font.cpp|| undefined reference to `FT_Bitmap_Embolden'|
Font.cpp|| undefined reference to `FT_Glyph_To_Bitmap'|
Font.cpp|| undefined reference to `FT_Done_Glyph'|
Font.cpp|| undefined reference to `FT_Outline_Embolden'|
Font.cpp|| undefined reference to `FT_Glyph_To_Bitmap'|
/usr/local/lib/libsfml-graphics-s.a(Font.cpp.o)||In function `sf::Font::getDefaultFont()':|
Font.cpp|| undefined reference to `FT_Init_FreeType'|
Font.cpp|| undefined reference to `FT_New_Memory_Face'|
Font.cpp|| undefined reference to `FT_Select_Charmap'|
Font.cpp|| undefined reference to `FT_Done_Face'|
Font.cpp|| undefined reference to `FT_Done_FreeType'|
/usr/local/lib/libsfml-graphics-s.a(ImageLoader.cpp.o)||In function `sf::priv::ImageLoader::writeJpg(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int)':|
ImageLoader.cpp|| undefined reference to `jpeg_std_error'|
ImageLoader.cpp|| undefined reference to `jpeg_CreateCompress'|
ImageLoader.cpp|| undefined reference to `jpeg_stdio_dest'|
ImageLoader.cpp|| undefined reference to `jpeg_set_defaults'|
ImageLoader.cpp|| undefined reference to `jpeg_set_quality'|
ImageLoader.cpp|| undefined reference to `jpeg_start_compress'|
ImageLoader.cpp|| undefined reference to `jpeg_write_scanlines'|
ImageLoader.cpp|| undefined reference to `jpeg_finish_compress'|
ImageLoader.cpp|| undefined reference to `jpeg_destroy_compress'|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 0 warnings (0 minutes, 1 seconds) ===|
PS:
Try without SFML_STATIC is SUCCESSFULL!
PSS:
I want to use SFML_STATIC in Release.
I need help, please:
undefined reference to `FT_Set_Pixel_Sizes' .. see above ..
-
Static SFML on Linux? This is useless, unless you have a very good reason.
Can you explain me how you compile this SFML release/static build?
-
Can you explain me how you compile this SFML release/static build?
a) Download+Extract: <LaurentGomila-SFML-2.0-rc-17-g1187c29.tar.gz>
b) Release
cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=TRUE .
make
sudo make install
c) Debug:
cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug -D BUILD_SHARED_LIBS=TRUE .
make
sudo make install
d) Release-Static:
cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=FALSE .
make
sudo make install
e) Debug-Static:
cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug -D BUILD_SHARED_LIBS=FALSE .
make
sudo make install
Static SFML on Linux? This is useless, unless you have a very good reason.
Later, when my program is ready, I would like to have it as a 'stand alone'.
But, I am not sure myself. I am new on SFML and I am very new on Linux/Ubuntu.
-
But the errors that you show, they are produces when you build your own project, right? A static library is not linked to its dependencies, therefore you have to link FreeType, libjpeg, etc. to your own app when you link to SFML static libraries.
Later, when my program is ready, I would like to have it as a 'stand alone'.
Then just pack the SFML libraries with the executable, and run it with a little script that does this:
export LD_LIBRARY_PATH=. && ./myprogram
But once SFML 2.0 is out and packaged into the official Linux repositories, there will be no good reason (but many bad reasons!) to provide it yourself, it's better to let people install the version that is specifically compiled for their own Linux distribution.
-
Thank you, now I understand the errors .. and .. I will try and learn further .. :)
-
sf::Font MyFont;
// Load from a font file on disk
if (!MyFont.LoadFromFile("arial.ttf"))
{
// Error...
}
If I go right in the assumption that the full path always must be used? (Win7/64, VS2010)
In the above form, it doesn't work with me.
-
Where did you put the arial.ttf file?
-
From Windows. I altered the code to:
std::string sFnt = std::getenv("WINDIR");
sFnt += "\\Fonts\\COUR.TTF";
sf::Font k_Font;
//if (!k_Font.loadFromFile("COUR.TTF"))
if (!k_Font.loadFromFile(sFnt))
{
txtS.setString("FontFehler");
}
In this case, it works. (I thought that Fonts always are loaded there without path statement ::))
-
I thought that Fonts always are loaded there without path statement
No :)
A font in SFML is like any other resource, when you load it from a file it searches the file relatively to the current working directory, and that's it.
-
Win7/64, VS2010: My first 'game' with SFML (only a 'joke'). I am testing the keyboard input:
Hint: Later in my planned game will i have a framerate=30 >> ::sleep(33);.
#include "stdafx.h"
#ifdef _WIN32
int APIENTRY _tWinMain
(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow
)
#else
int main(void)
#endif
{
#ifdef _DEBUG
sf::RenderWindow window(sf::VideoMode(950, 150), "SFML works!");
#else
//sf::RenderWindow window(sf::VideoMode::getDesktopMode(), "SFML works!", sf::Style::Fullscreen);
sf::RenderWindow window(sf::VideoMode(950, 150), "SFML works!");
#endif
sf::Text txtS("Hello SFML");
#ifdef _WIN32
std::string sFnt = std::getenv("WINDIR"); //> Warnung unterdrücken: 4996;:
sFnt += "\\Fonts\\COUR.TTF";
sf::Font k_Font;
if (!k_Font.loadFromFile(sFnt))
{
txtS.setString("FontFehler");
}
#else
std::string sFnt = "/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf" ;
//std::string sFnt = "/usr/share/fonts/truetype/ttf-liberation/LiberationMono-Bold.ttf" ;
sf::Font k_Font;
if (!k_Font.loadFromFile(sFnt))
{
txtS.setString("FontFehler");
}
#endif
sf::Text txtK(""); //> Zeig TastaturStatus:
txtK.move(20.0, 50.0);
txtK.setScale(0.5, 0.5);
txtK.setFont(k_Font);
sf::Text txtM(""); //> Markiere einige Tasten:
txtM.move(20.0, 70.0);
txtM.setScale(0.5, 0.5);
txtM.setFont(k_Font);
sf::Text txtZ(""); //> Markiere Zusatzinfo:
txtZ.move(20.0, 90.0);
txtZ.setScale(0.5, 0.5);
txtZ.setFont(k_Font);
sf::Text txtC(""); //> Codeinfo:
txtC.move(20.0, 110.0);
txtC.setScale(0.5, 0.5);
txtC.setFont(k_Font);
sf::Event k_Event;
window.setKeyRepeatEnabled(true);
const long k_lKc = sf::Keyboard::KeyCount;
long k_KeyTst[k_lKc];
long i = 0;
//> TastaturStatus=0:
for (i = 0; (i < k_lKc); i++)
{
k_KeyTst[i] = 0;
}
while (window.isOpen())
{
//> EVENTS:
while (window.pollEvent(k_Event))
{
if
(
(k_Event.type == sf::Event::LostFocus)
||
(k_Event.type == sf::Event::GainedFocus)
||
(k_Event.type == sf::Event::Resized)
)
{
//> TastaturStatus=0:
for (i = 0; (i < k_lKc); i++)
{
k_KeyTst[i] = 0;
}
}
//> Eine oder mehrere Tasten gedrückt:
if (k_Event.type == sf::Event::KeyPressed)
{
long lKyC = k_Event.key.code;
if
(
(lKyC > -1)
&&
(lKyC < k_lKc)
)
{
if (k_KeyTst[lKyC] < LONG_MAX)
{
k_KeyTst[lKyC]++;
} else
{
k_KeyTst[lKyC] = 1;
}
}
}
//> Eine oder mehrere Tasten losgelassen:
if (k_Event.type == sf::Event::KeyReleased)
{
long lKyC = k_Event.key.code;
if
(
(lKyC > -1)
&&
(lKyC < k_lKc)
)
{
k_KeyTst[lKyC] = 0;
}
}
if (k_Event.type == sf::Event::Closed)
{
window.close(); //> Und raus ..:
}
}
std::string sTxtK; //> TastaturZustand: "_" | "1" .. "9", "X":
sTxtK = "";
std::string sTxtM; //> Markierung einiger Tasten:
sTxtM = "";
std::string sTxtZ; //> Zusatzbemerkung zu einigen Tasten:
sTxtZ = "";
std::string sTxtC; //> TastenKeyCode:
sTxtC = "KeyCode =";
for (i = 0; (i < k_lKc); i++)
{
if (k_KeyTst[i] > 0)
{
//> Taste ist gedrückt:
char cX[256];
if (k_KeyTst[i] < 10)
{
#ifdef _WIN32
_itoa_s(k_KeyTst[i], cX, 256, 10);
#else
sprintf(cX, "%ld", k_KeyTst[i]);
#endif
sTxtK += cX; //> "1" .. "9":
} else
{
sTxtK += "X";
}
sprintf(cX, " %ld", i);
sTxtC += cX;
} else
{
//> Taste ist nicht gedrückt:
sTxtK += "_";
}
//> Markierungen:
switch (i)
{
case sf::Keyboard::A:
{
sTxtM += "A";
sTxtZ += " ";
break;
}
case sf::Keyboard::B:
{
sTxtM += "B";
sTxtZ += " ";
break;
}
case sf::Keyboard::K:
{
sTxtM += "K";
sTxtZ += " ";
break;
}
case sf::Keyboard::L:
{
sTxtM += "L";
sTxtZ += " ";
break;
}
case sf::Keyboard::LAlt:
{
sTxtM += "a";
sTxtZ += "L";
break;
}
case sf::Keyboard::RAlt:
{
sTxtM += "a";
sTxtZ += "R";
break;
}
case sf::Keyboard::LControl:
{
sTxtM += "c";
sTxtZ += "L";
break;
}
case sf::Keyboard::RControl:
{
sTxtM += "c";
sTxtZ += "R";
break;
}
case sf::Keyboard::LBracket:
{
sTxtM += "[";
sTxtZ += " ";
break;
}
case sf::Keyboard::RBracket:
{
sTxtM += "]";
sTxtZ += " ";
break;
}
default:
{
sTxtM += " ";
sTxtZ += " ";
break;
}
}
}
txtK.setString(sTxtK);
txtM.setString(sTxtM);
txtZ.setString(sTxtZ);
txtC.setString(sTxtC);
window.clear();
window.draw(txtS);
window.draw(txtK);
window.draw(txtM);
window.draw(txtZ);
window.draw(txtC);
window.display();
#ifdef _WIN32
Sleep(33);
#else
usleep(33);
#endif
}
return 0;
}
Download the *.exx: http://www.zwianer.de/Download/SFML_Win32_ZwiAner.exx (http://www.zwianer.de/Download/SFML_Win32_ZwiAner.exx) and rename to *.exe.
Example K-Key:
(http://www.zwianer.de/Download/Beispiel_Keyboard_K.png)
Press and hold the K-key .. when released then is the statusline again empty .. just like I wants.
There a 3 problems:
a) LAlt-Key:
(http://www.zwianer.de/Download/Problem_Keyboard_LAlt.png)
Press and hold the LAlt-Key .. when released (in most cases) no effect! (You must press another Key to 'released' the LAlt-Key.)
b) RAlt-Key:
(http://www.zwianer.de/Download/Problem_Keyboard_RAlt.png)
Press and hold the RAlt-Key .. the LControl appear at the same time!
c) K-Key and L-Key (at the same time):
(http://www.zwianer.de/Download/Problem_Keyboard_KL.png)
Press the K-Key for a second .. hold it .. and press the L-Key additional.
Only the second key is updated as 'pressed'.
In a few cases (when pressed both at same time) .. both Key are updated as 'pressed'.
-
(http://www.zwianer.de/Download/ProblemKeyboardUbuntu.png)
Download program: http://www.zwianer.de/Download/SFML_Lin32_ZwiAner (http://www.zwianer.de/Download/SFML_Lin32_ZwiAner)
Any Problems are similar described like above reply!
I have a lot of new problems:
Examples:
Press the RAlt-Key .. event.key.code return 0 not 37.
The Button left next at Backspace:
Windows: Backcode=47 .. Ubuntu: Backcode=51 (an some times 0).
The next Button one more left:
Windows: Backcode=46 .. Ubunto: Backcode=0
Code 46 und 47 is described as LBracket/RBracket.
But the buttons are not at the right place at english keyboard (my opinion).
etc.
I am a little confused .. :o .. please help me.
-
Sorry, my English is not good, unfortunately .. and nobody answers .. maybe I chose the wrong words.
Therefore, I transferred the question to german: http://forum.sfml-dev.de/index.php/topic,931.0.html (http://forum.sfml-dev.de/index.php/topic,931.0.html) and I will transfer my question also after system, too (look at: http://en.sfml-dev.org/forums/index.php?topic=7833.0 (http://en.sfml-dev.org/forums/index.php?topic=7833.0)).