Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

26.02.2011, 15:17

SFML Kompilierungs Ploblem

Hallo!

Ich brauch mal wieder hilfe.
Ich habe mir, um mit der SFML programmieren zu können, damals das verzeichnis von der hp von einem user des forums runtergeladen.
Jetzt habe ich mir aber gedacht, ich will die sfml doch selber kompilieren, weil ich mir nicht erklären kann, wieso es bei mir nicht funktioniert hat. (Es geht um die SFML1.6)

Folgendes Problem: Ich bekomme lauter Linker - Errors, wenn ich die DLLs für die sfml-windows Bibliothek erstellen möchte.
Habe aber alles wie im Tutorial gemacht, und auch in zahlreichen Video - tutorials stellen die dort nie etwas in Visual studio c++ 2010 ein oder um (Die machen das meist sogar mit weniger aufwand als ich ^^).
Die Linker - Errors bekomme ich NUR beiden dynamischen Dll konfigurationen (debug-dll und relaise-dll), nicht im statischen modus (debug-static und relaise-static).
Die Dlls von allen anderen Bibliotheken bekomme ich ohne Probleme, es liegt wirklich nur an den window - dlls ...

Damit ihr seht, ob ich vielleicht doch etwas übersehen habe, schreibe ich mal schnell auf, was ich alles gemacht habe:
- Die SFMl1.6 von der hp runtergeladen und entpackt.
- Die .snl im build verzeichniss geöffnet und konvertiert.
- Die nicht benötigten ordner aus der Projektmappe gelöscht, so dass nur noch die sfml-XXX Mappen vorhanden sind
- Die Verzeichnisse eingetragen (Include und bibliotheksverzeichnisse), natürlich unter "Alle konfigurationen"
- Überprüft, ob im Präprozessor auch SDL_DYNAMIC definiert ist (Unter der Debug-DLL Konfiguration)

Nocheinmal zur verdeutlichung, folgende Konfigurationen kann ich kompilieren:
Debug, Relaise, Debug-Static, Relaise-Static
folgende Konfigurationen bekommen die nicht aufgelösten verweise vom linker:
debug-dll, relaise-dll

Hier noch die Fehlermeldung, für die dies ganz genau wissen wollen: (Antivir ist ausgeschalltet, da ich sons eine virenmeldung beim kompilieren der sfml-graphics bekomme ;))

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
1>------ Neues Erstellen gestartet: Projekt: sfml-system, Konfiguration: Debug DLL Win32 ------
2>------ Neues Erstellen gestartet: Projekt: sfml-main, Konfiguration: Debug Win32 ------
3>------ Neues Erstellen gestartet: Projekt: sfml-network, Konfiguration: Debug DLL Win32 ------
2>  SFML_Main.cpp
1>  Mutex.cpp
3>  SocketHelper.cpp
3>  Ftp.cpp
1>  Platform.cpp
3>  Http.cpp
1>  Thread.cpp
3>  IPAddress.cpp
1>  Clock.cpp
3>  Packet.cpp
1>  Lock.cpp
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1151,5): warning MSB8012: TargetPath(C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-main\Debug\sfml-main.lib) entspricht nicht dem OutputFile-Eigenschaftswert (C:\Projekte\SFML-1.6\lib\vc2008\sfml-main-d.lib) von Library. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Lib.OutputFile) angegebenen Wert entsprechen.
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1153,5): warning MSB8012: TargetName(sfml-main) entspricht nicht dem OutputFile-Eigenschaftswert (sfml-main-d) von Library. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Lib.OutputFile) angegebenen Wert entsprechen.
1>  Randomizer.cpp
2>  sfml-main.vcxproj -> C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-main\Debug\sfml-main.lib
1>  Sleep.cpp
1>  Unicode.cpp
3>c:\projekte\sfml-1.6\src\sfml\network\ftp.cpp(403): warning C4244: 'Initialisierung': Konvertierung von 'std::streamoff' in 'size_t', möglicher Datenverlust
3>  SelectorBase.cpp
3>  SocketTCP.cpp
3>  SocketUDP.cpp
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-system\Debug DLL\sfml-system.dll) entspricht nicht dem OutputFile-Eigenschaftswert (C:\Projekte\SFML-1.6\lib\vc2008\sfml-system-d.dll) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(sfml-system) entspricht nicht dem OutputFile-Eigenschaftswert (sfml-system-d) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
1>     Bibliothek "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-system\Debug DLL\sfml-system.lib" und Objekt "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-system\Debug DLL\sfml-system.exp" werden erstellt.
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-network\Debug DLL\sfml-network.dll) entspricht nicht dem OutputFile-Eigenschaftswert (C:\Projekte\SFML-1.6\lib\vc2008\sfml-network-d.dll) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(sfml-network) entspricht nicht dem OutputFile-Eigenschaftswert (sfml-network-d) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
3>     Bibliothek "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-network\Debug DLL\sfml-network.lib" und Objekt "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-network\Debug DLL\sfml-network.exp" werden erstellt.
1>     Bibliothek "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-system\Debug DLL\sfml-system.lib" und Objekt "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-system\Debug DLL\sfml-system.exp" werden erstellt.
1>  sfml-system.vcxproj -> C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-system\Debug DLL\sfml-system.dll
4>------ Neues Erstellen gestartet: Projekt: sfml-window, Konfiguration: Debug DLL Win32 ------
5>------ Neues Erstellen gestartet: Projekt: sfml-audio, Konfiguration: Debug DLL Win32 ------
5>  stb_vorbis.c
4>  Joystick.cpp
4>  VideoModeSupport.cpp
4>  Context.cpp
4>  Input.cpp
3>     Bibliothek "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-network\Debug DLL\sfml-network.lib" und Objekt "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-network\Debug DLL\sfml-network.exp" werden erstellt.
4>  VideoMode.cpp
4>  Window.cpp
5>  AudioDevice.cpp
5>  AudioResource.cpp
5>  Listener.cpp
5>  Music.cpp
3>  sfml-network.vcxproj -> C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-network\Debug DLL\sfml-network.dll
4>  WindowImpl.cpp
5>  Sound.cpp
5>  SoundBuffer.cpp
5>  SoundBufferRecorder.cpp
5>  SoundFile.cpp
4>  WindowImplWin32.cpp
5>  SoundFileDefault.cpp
5>  SoundFileOgg.cpp
5>  SoundRecorder.cpp
5>  SoundStream.cpp
4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-window\Debug DLL\sfml-window.dll) entspricht nicht dem OutputFile-Eigenschaftswert (C:\Projekte\SFML-1.6\lib\vc2008\sfml-window-d.dll) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(sfml-window) entspricht nicht dem OutputFile-Eigenschaftswert (sfml-window-d) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
4>     Bibliothek "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-window\Debug DLL\sfml-window.lib" und Objekt "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-window\Debug DLL\sfml-window.exp" werden erstellt.
[color=#ff0000]4>VideoModeSupport.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__EnumDisplaySettingsA@12" in Funktion ""public: static void __cdecl sf::priv::VideoModeSupport::GetSupportedVideoModes(class std::vector<class sf::VideoMode,class std::allocator<class sf::VideoMode> > &)" (?GetSupportedVideoModes@VideoModeSupport@priv@sf@@SAXAAV?$vector@VVideoMode@sf@@V?$allocator@VVideoMode@sf@@@std@@@std@@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""public: __thiscall sf::priv::WindowImplWin32::WindowImplWin32(void)" (??0WindowImplWin32@priv@sf@@QAE@XZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__CreateWindowExA@48" in Funktion ""public: __thiscall sf::priv::WindowImplWin32::WindowImplWin32(void)" (??0WindowImplWin32@priv@sf@@QAE@XZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__CreateWindowExW@48" in Funktion ""public: __thiscall sf::priv::WindowImplWin32::WindowImplWin32(void)" (??0WindowImplWin32@priv@sf@@QAE@XZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowLongA@12" in Funktion ""public: __thiscall sf::priv::WindowImplWin32::WindowImplWin32(void *,struct sf::WindowSettings &)" (??0WindowImplWin32@priv@sf@@QAE@PAXAAUWindowSettings@2@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetClientRect@8" in Funktion ""public: __thiscall sf::priv::WindowImplWin32::WindowImplWin32(void *,struct sf::WindowSettings &)" (??0WindowImplWin32@priv@sf@@QAE@PAXAAUWindowSettings@2@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__AdjustWindowRect@12" in Funktion ""public: __thiscall sf::priv::WindowImplWin32::WindowImplWin32(class sf::VideoMode,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned long,struct sf::WindowSettings &)" (??0WindowImplWin32@priv@sf@@QAE@VVideoMode@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@KAAUWindowSettings@2@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ReleaseDC@8" in Funktion ""public: __thiscall sf::priv::WindowImplWin32::WindowImplWin32(class sf::VideoMode,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned long,struct sf::WindowSettings &)" (??0WindowImplWin32@priv@sf@@QAE@VVideoMode@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@KAAUWindowSettings@2@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetDeviceCaps@8" in Funktion ""public: __thiscall sf::priv::WindowImplWin32::WindowImplWin32(class sf::VideoMode,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned long,struct sf::WindowSettings &)" (??0WindowImplWin32@priv@sf@@QAE@VVideoMode@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@KAAUWindowSettings@2@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetDC@4" in Funktion ""public: __thiscall sf::priv::WindowImplWin32::WindowImplWin32(class sf::VideoMode,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned long,struct sf::WindowSettings &)" (??0WindowImplWin32@priv@sf@@QAE@VVideoMode@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@KAAUWindowSettings@2@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__UnregisterClassA@8" in Funktion ""public: virtual __thiscall sf::priv::WindowImplWin32::~WindowImplWin32(void)" (??1WindowImplWin32@priv@sf@@UAE@XZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__UnregisterClassW@8" in Funktion ""public: virtual __thiscall sf::priv::WindowImplWin32::~WindowImplWin32(void)" (??1WindowImplWin32@priv@sf@@UAE@XZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DestroyWindow@4" in Funktion ""public: virtual __thiscall sf::priv::WindowImplWin32::~WindowImplWin32(void)" (??1WindowImplWin32@priv@sf@@UAE@XZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DestroyIcon@4" in Funktion ""public: virtual __thiscall sf::priv::WindowImplWin32::~WindowImplWin32(void)" (??1WindowImplWin32@priv@sf@@UAE@XZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DispatchMessageA@4" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::ProcessEvents(void)" (?ProcessEvents@WindowImplWin32@priv@sf@@EAEXXZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__TranslateMessage@4" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::ProcessEvents(void)" (?ProcessEvents@WindowImplWin32@priv@sf@@EAEXXZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__PeekMessageA@20" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::ProcessEvents(void)" (?ProcessEvents@WindowImplWin32@priv@sf@@EAEXXZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SwapBuffers@4" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::Display(void)" (?Display@WindowImplWin32@priv@sf@@EAEXXZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetCursor@4" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::ShowMouseCursor(bool)" (?ShowMouseCursor@WindowImplWin32@priv@sf@@EAEX_N@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__LoadCursorA@8" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::ShowMouseCursor(bool)" (?ShowMouseCursor@WindowImplWin32@priv@sf@@EAEX_N@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetCursorPos@8" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::SetCursorPosition(unsigned int,unsigned int)" (?SetCursorPosition@WindowImplWin32@priv@sf@@EAEXII@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ClientToScreen@8" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::SetCursorPosition(unsigned int,unsigned int)" (?SetCursorPosition@WindowImplWin32@priv@sf@@EAEXII@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetWindowPos@28" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::SetPosition(int,int)" (?SetPosition@WindowImplWin32@priv@sf@@EAEXHH@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetWindowLongA@8" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::SetSize(unsigned int,unsigned int)" (?SetSize@WindowImplWin32@priv@sf@@EAEXII@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SendMessageA@16" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::SetIcon(unsigned int,unsigned int,unsigned char const *)" (?SetIcon@WindowImplWin32@priv@sf@@EAEXIIPBE@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__CreateIcon@28" in Funktion ""private: virtual void __thiscall sf::priv::WindowImplWin32::SetIcon(unsigned int,unsigned int,unsigned char const *)" (?SetIcon@WindowImplWin32@priv@sf@@EAEXIIPBE@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__RegisterClassA@4" in Funktion ""private: void __thiscall sf::priv::WindowImplWin32::RegisterWindowClass(void)" (?RegisterWindowClass@WindowImplWin32@priv@sf@@AAEXXZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__RegisterClassW@4" in Funktion ""private: void __thiscall sf::priv::WindowImplWin32::RegisterWindowClass(void)" (?RegisterWindowClass@WindowImplWin32@priv@sf@@AAEXXZ)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ChangeDisplaySettingsA@8" in Funktion ""private: void __thiscall sf::priv::WindowImplWin32::SwitchToFullscreen(class sf::VideoMode const &)" (?SwitchToFullscreen@WindowImplWin32@priv@sf@@AAEXABVVideoMode@3@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetPixelFormat@12" in Funktion ""private: void __thiscall sf::priv::WindowImplWin32::CreateContext(class sf::VideoMode const &,struct sf::WindowSettings &)" (?CreateContext@WindowImplWin32@priv@sf@@AAEXABVVideoMode@3@AAUWindowSettings@3@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ChoosePixelFormat@8" in Funktion ""private: void __thiscall sf::priv::WindowImplWin32::CreateContext(class sf::VideoMode const &,struct sf::WindowSettings &)" (?CreateContext@WindowImplWin32@priv@sf@@AAEXABVVideoMode@3@AAUWindowSettings@3@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DescribePixelFormat@16" in Funktion ""private: void __thiscall sf::priv::WindowImplWin32::CreateContext(class sf::VideoMode const &,struct sf::WindowSettings &)" (?CreateContext@WindowImplWin32@priv@sf@@AAEXABVVideoMode@3@AAUWindowSettings@3@@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__TrackMouseEvent@4" in Funktion ""private: void __thiscall sf::priv::WindowImplWin32::ProcessEvent(unsigned int,unsigned int,long)" (?ProcessEvent@WindowImplWin32@priv@sf@@AAEXIIJ@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetAsyncKeyState@4" in Funktion ""private: void __thiscall sf::priv::WindowImplWin32::ProcessEvent(unsigned int,unsigned int,long)" (?ProcessEvent@WindowImplWin32@priv@sf@@AAEXIIJ@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__MapVirtualKeyA@8" in Funktion ""private: static enum sf::Key::Code __cdecl sf::priv::WindowImplWin32::VirtualKeyCodeToSF(unsigned int,long)" (?VirtualKeyCodeToSF@WindowImplWin32@priv@sf@@CA?AW4Code@Key@3@IJ@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DefWindowProcA@16" in Funktion ""private: static long __stdcall sf::priv::WindowImplWin32::GlobalOnEvent(struct HWND__ *,unsigned int,unsigned int,long)" (?GlobalOnEvent@WindowImplWin32@priv@sf@@CGJPAUHWND__@@IIJ@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DefWindowProcW@16" in Funktion ""private: static long __stdcall sf::priv::WindowImplWin32::GlobalOnEvent(struct HWND__ *,unsigned int,unsigned int,long)" (?GlobalOnEvent@WindowImplWin32@priv@sf@@CGJPAUHWND__@@IIJ@Z)".
4>WindowImplWin32.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__CallWindowProcA@20" in Funktion ""private: static long __stdcall sf::priv::WindowImplWin32::GlobalOnEvent(struct HWND__ *,unsigned int,unsigned int,long)" (?GlobalOnEvent@WindowImplWin32@priv@sf@@CGJPAUHWND__@@IIJ@Z)".
4>C:\Projekte\SFML-1.6\build\vc2008\..\..\lib\vc2008\sfml-window-d.dll : fatal error LNK1120: 38 nicht aufgelöste externe Verweise.[/color]
6>------ Neues Erstellen gestartet: Projekt: sfml-graphics, Konfiguration: Debug DLL Win32 ------
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-audio\Debug DLL\sfml-audio.dll) entspricht nicht dem OutputFile-Eigenschaftswert (C:\Projekte\SFML-1.6\lib\vc2008\sfml-audio-d.dll) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(sfml-audio) entspricht nicht dem OutputFile-Eigenschaftswert (sfml-audio-d) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
6>  adler32.c
6>  compress.c
5>     Bibliothek "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-audio\Debug DLL\sfml-audio.lib" und Objekt "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-audio\Debug DLL\sfml-audio.exp" werden erstellt.
6>  crc32.c
6>  deflate.c
6>  inffast.c
6>  inflate.c
6>  inftrees.c
6>  trees.c
6>  uncompr.c
6>  zutil.c
6>  png.c
6>  pngerror.c
6>  pnggccrd.c
6>  pngget.c
6>  pngmem.c
6>  pngpread.c
6>  pngread.c
6>  pngrio.c
6>  pngrtran.c
6>  pngrutil.c
6>  pngset.c
6>  pngtrans.c
6>  pngvcrd.c
6>  pngwio.c
6>  pngwrite.c
6>  pngwtran.c
6>  pngwutil.c
6>  image_DXT.c
6>  SOIL.c
6>  stb_image_aug.c
6>  jcapimin.c
6>  jcapistd.c
6>  jccoefct.c
6>  jccolor.c
6>  jcdctmgr.c
6>  jchuff.c
6>  jcinit.c
6>  jcmainct.c
6>  jcmarker.c
6>  jcmaster.c
6>  jcomapi.c
6>  jcparam.c
6>  jcphuff.c
6>  jcprepct.c
6>  jcsample.c
6>  jctrans.c
6>  jdapimin.c
6>  jdapistd.c
5>     Bibliothek "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-audio\Debug DLL\sfml-audio.lib" und Objekt "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-audio\Debug DLL\sfml-audio.exp" werden erstellt.
6>  jdatadst.c
6>  jdatasrc.c
6>  jdcoefct.c
6>  jdcolor.c
6>  jddctmgr.c
6>  jdhuff.c
6>  jdinput.c
6>  jdmainct.c
6>  jdmarker.c
6>  jdmaster.c
6>  jdmerge.c
6>  jdphuff.c
6>  jdpostct.c
6>  jdsample.c
6>  jdtrans.c
6>  jerror.c
6>  jfdctflt.c
6>  jfdctfst.c
6>  jfdctint.c
6>  jidctflt.c
6>  jidctfst.c
6>  jidctint.c
6>  jidctred.c
6>  jmemmgr.c
6>  jmemnobs.c
5>  sfml-audio.vcxproj -> C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-audio\Debug DLL\sfml-audio.dll
6>  jquant1.c
6>  jquant2.c
6>  jutils.c
6>  glew.c
6>  Color.cpp
6>  Drawable.cpp
6>  Font.cpp
6>  FontLoader.cpp
6>  GraphicsContext.cpp
6>  Image.cpp
6>  Matrix3.cpp
6>  PostFX.cpp
6>  RenderTarget.cpp
6>  RenderWindow.cpp
6>  Shape.cpp
6>  Sprite.cpp
6>  String.cpp
6>  View.cpp
6>  ImageLoader.cpp
6>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-graphics\Debug DLL\sfml-graphics.dll) entspricht nicht dem OutputFile-Eigenschaftswert (C:\Projekte\SFML-1.6\lib\vc2008\sfml-graphics-d.dll) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
6>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(sfml-graphics) entspricht nicht dem OutputFile-Eigenschaftswert (sfml-graphics-d) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
6>     Bibliothek "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-graphics\Debug DLL\sfml-graphics.lib" und Objekt "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-graphics\Debug DLL\sfml-graphics.exp" werden erstellt.
6>LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
6>     Bibliothek "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-graphics\Debug DLL\sfml-graphics.lib" und Objekt "C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-graphics\Debug DLL\sfml-graphics.exp" werden erstellt.
6>LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
6>  sfml-graphics.vcxproj -> C:\Projekte\SFML-1.6\build\vc2008\..\..\Temp\vc2008\sfml-graphics\Debug DLL\sfml-graphics.dll
========== Alles neu erstellen: 5 erfolgreich, Fehler bei 1, 0 übersprungen ==========

Bei der Relaise - dll ist die meldung die gleiche.

Ich habe auch schon versucht, über "Zusätzliche Abhängigkeiten" in der Linker - Eingabe diese Errors zu beheben, jedoch ohne erfolg :|

Ich hoffe, dass ihr mir weiterhelfen könnt :)
Beste Grüße und einen schönen Tag noch,
Ombalat

2

28.02.2011, 10:12

Hat noch keiner diese problem gehabt ?(

Bin über jeden gut gemeinten rat/tipp dankbar :)
Danke schonmal fürs lesen der threads, hoffe vl doch noch auf antworten :thumbsup:

Leibe Grüße,
Ombalat

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

28.02.2011, 10:25

Das sieht mir aus als würden irgendwie ein paar Windows .libs nicht gelinkt (gdi32.lib user32.lib)!? Abgesehen davon linken wohl ein paar Object Files die statische Runtime und der Rest die dynamische.

4

01.03.2011, 16:16

Wow, lag tatsächlich an den Windows .libs, hab die beiden libs jetzt eingetragen und es funktioniert jetzt, VIELEN DANK :)

Edit: Die Libory - files (.lib) werden jetz aber anders benannt (mit -s.lib und -s-d.lib) ... is das ein problem oder soll man die einfach umbenennen in .lib und -d.lib?

Edit2: Hab mich wohl zu früh gefreute ... kompilieren kann ich sie jetzt zwar, dafür kann ich die .libs nicht verwenden, da ich dort dann auch wieder nicht aufgelöste verweise bekomme ...
Könnte vl daran liegen?

Quellcode

1
Abgesehen davon linken wohl ein paar Object Files die statische Runtime und der Rest die dynamische. 

Wie könnte man das beheben?

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Ombalat« (01.03.2011, 16:26)


Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

5

01.03.2011, 16:59

Das "-s.lib" deutet darauf hin, dass du die SFML statisch kompilierst. Du musst sie in deinem Projekt dann auch statisch linken, damit alles funktioniert. Das SFML-Projekt sollte jedoch verschiedene Projektmappenkonfigurationen mitbringen, um auch die dynamische Bibliothek(libs und dlls) zu kompilieren.

6

01.03.2011, 17:54

Hmmm ... und wie sollten diese konfigurationen zu finden sein? Ich komm da überhaupt nciht weiter :S
Könnte mir vl jemand mal ne step - by - step anleitung geben, der die sfml selbst kompiliert hat, dass ich so vl meinen fehler finde :(
Habe sonst nämlich alles genau so wie im tutortial und in video tutorials gemacht - kann jedenfalls keine abweichung sehen ;)

Lerikson

Alter Hase

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

7

01.03.2011, 18:26

Also ich habe hier neulich in einem ähnlichen Thema diesen Link gepostet, das ist eine recht gute Anleitung wie man die SFML mit VS2010 kompiliert ;-)
ansonsten musst du mal in deinem SFML Ordner nach den Bespielprogrammen suchen, die sollten auch alle eine Projektdatei besitzen wo du mit Rechtsklick>Eigenschaften die Konfiguration auslesen kannst.

mfG
Errare est humanum. -Windows ist menschlich ;-)

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

8

01.03.2011, 18:32

In Visual C++ kann man dooch in der Toolbar irgendwo Releas und Debug etc. auswählen. Beim SFML-Projekt sollten da ein paar mehr Auswahlmöglichkeiten sein, wie DLL etc.

9

01.03.2011, 18:47

Hmm .. alles schon versucht gehabt, was du in deinem tut machst ... werd wirklich schaun müssen, ob ich über die
beispielprogramme weiterkomm.

Werwofl

Treue Seele

Beiträge: 100

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

10

03.03.2011, 23:20

Du musst das Projekt einmal komplett durch-kompilieren.(Wirklich alle Debug,Release,Release-static usw.)
Dann findest du unter dem Ordner /lib einen neuen Ordner: vc2008.

Dann trägst unter Properties unter C++->General bei Additional Include Directories den Pfad zum include-Ordner (nicht VC++-Directories )
Unter Linker->General trägst du unter Additional Libary Directories den Pfad zum neuen Ordner ein.

Danach einfach unter Linker->Input deine Libs angeben die du haben willst.

Für Debug-Version nimmst du am besten die *-s-d.lib und für Release-Version nur die -s.lib.

Was du veilleicht mal versuchen solltest ist einfach mal ein neues Projekt anlegen, war bei mir nämlich das Problem. :P

Werbeanzeige