Fehler beim linken von uSkin.lib
-
die lib ist ja schon eingebunden.
-
Scheinbar nicht. Sonst bekämst Du den Fehler nicht.
Evtl. Was ist es für ein Pfad?
Siehe evtl. AdditionalLibraryDirectories in den Linker Settings.Man kann die Lib-Datei auch in das Projket ziehen. Dann bindet der Linker sie automatisch ein.
-
kannst du das vielleicht mal bei dir ausprobieren, weill
es funkz bei mir einfach nicht.
uSkin gibts auf neemedia.comda muss noch irgend wo ein anderer fehler sein???...
-
Guckst Du mit
dumpbin.exe /headers [sonstwas.lib]
mal, ob alles, was du verwenden willst überhaupt von der lib exportiert wird?
-
Habs mit VS2010 unter XP versucht.
Die Beispiele unter Samples/MFC benötigen
#define _WIN32_WINNT 0x0500
Weglassen geht nicht und alles andere führt zu
\VC\atlmfc\include\afxcmn3.inl(20): error C2065: 'CCM_SETWINDOWTHEME': nichtdeklarierter Bezeichner
Die lib (sowie die dll) war ursprünglich für VS2008 kompiliert.
dumpbin sagt z.B. mit /HEADERS
Version : 0
Machine : 14C (x86)
TimeDateStamp: 49141C85 Fri Nov 07 11:46:29 2008
SizeOfData : 00000033
DLL name : USkin.dll
Symbol name : ?USkinSetWindowSkin@@YGHPAUHWND__@@PBD@Z (int stdcall USkinSe
tWindowSkin(struct HWND *,char const *))
Type : code
Name type : ordinal
Ordinal : 27oder mit /EXPORTS
27 ?USkinSetWindowSkin@@YGHPAUHWND__@@PBD@Z (int stdcall USkinS
etWindowSkin(struct HWND *,char const *))Die dazugehörige DLL sieht gut aus:
27 25 00003170 USkinSetWindowSkin
Der Linker mag die lib (angeblich) mit dem ..\.. Pfad nicht öffnen.
Mit #pragma lässt sich die lib laden wenn man sie in den source-Ordner kopiert.
Muss dann wohl doch am Pfad liegen.Alternativ, da die uskin.h und die dll gut aussehen, könnte man die dll auch mit LoadLibrary() selbst laden.
-
merano schrieb:
Habs mit VS2010 unter XP versucht.
Die Beispiele unter Samples/MFC benötigen
#define _WIN32_WINNT 0x0500
Weglassen geht nicht und alles andere führt zu
\VC\atlmfc\include\afxcmn3.inl(20): error C2065: 'CCM_SETWINDOWTHEME': nichtdeklarierter Bezeichner
0x500 ist die WINVersion von Windows 2000. Alles davor (Win95,98,ME,NT) wird von VS 2010 C++ als Target nicht mehr unterstützt.
Vielleicht sollte der Thrreadstarter noch mal geflegt den Artikel auf
http://www.codeproject.com/Articles/13946/Use-the-Free-USkin-Toolkit-to-Skin-your-Applicatio
durchlesen und das Projekt neu aufsetzen.
-
hab ich schon alles gemacht, aber irgend wie funkz nichts
von all dem???
hat`s einer von euch zum laufen gebracht?
-
Gast123 schrieb:
hab ich schon alles gemacht, aber irgend wie funkz nichts
von all dem???
hat`s einer von euch zum laufen gebracht?Ja klar. Es geht
In stdafx.h sollte folgendes stehen:
#define WINVER 0x0501 // Minimum Windows XP
#define _WIN32_WINNT 0x0501 // Minimum Windows XP required
#define _WIN32_IE _WIN32_IE_IE60 // IE 6.0 (0x0600)#include <commctrl.h>
Siehe auch Doku zu CCM_SETWINDOWTHEME
Ausserdem muss (natürlich) die dll im Ordner der .exe stehen und
die skins werden hier erwartet..\\Skins\\DiyGreen.msstyles
Bei der Release Version also
__USkin V3.0\USkinDemoSrc\Bin
__USkin V3.0\USkinDemoSrc\Skins
-
Nachtrag:
Beim Linker sollte unter "Zusätzliche Abhängigkeiten" sowohl unter
"Debug" alsauch "Release" folgendes stehen:..\..\..\lib\USkin.lib;%(AdditionalDependencies)
-
Die Beispiele unter samples\mfc
funktionieren alle kompiliert mit VC2010 prof., wenn die Winversion >= 500 ist. Also die Anpassungen die merano beschrieben hat
Da Du soviel "Info" preisgibst,
- check wie merano empfohlen die Projekteigenschaften auf die
include-Abhängigkeiten. Unbekannte Felder in den Projekteigenschaften
beschreibt Dir die MSDN in dem Du das Feld markierst und dann rechts oben auf
das Fragezeichen klickst.
- vergewisser Dich das Deine IDE die nötige MFC-Unterstützung mit bringt.
Mit VC2010 Express wird es nicht funktionieren.