Hallo Gernot,
Hab mal wieder Just 4 Fun mit der Radc++2.0 Lib rumgespielt und bin diesmal sogar weiter gekommen als beim letzen mal :)
(evtl wegen update ? KANN sein ;) )
Naja ich habe jetzt noch eine überschauliche Anzahl von Compilefehlern:
_______________________________________
*** Configuration: WIN32 ***
precompiling:
GPC - GLBasic Precompiler V.8.142 SN:e9cd8e87 - 3D, NET
Wordcount:3 commands
compiling:
linking:
C:/Program Files (x86)/GLBasic/Compiler/platform/Win32/Lib/libuuid.a(uuid.o):uuid.c:(.rdata+0xfb0): multiple definition of `_GUID_NULL'
C:/Program Files (x86)/GLBasic/Compiler/platform/Win32/Lib/libGLBasic.a(dxguid.o):dxguid.c:(.rdata+0x2d0): first defined here
gpc_temp1.o:gpc_temp1.cpp:(.text+0xa2): undefined reference to `_APP::_APP(W32HINSTANCE__*)'
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
_______________________________________
*** Fertig ***
Dauer: 1.9 sek. Zeit: 23:38
Erstellen: 0 erfolgreich.
*** 1 FEHLGESCHLAGEN ***
Hab ich ne realistsche Chance?
My Wrapper so far:
INLINE
}
#define HINSTANCE W32HINSTANCE
#define HINSTANCE__ W32HINSTANCE__
#undef LPSTR
#undef DECLARE_HANDLE
#undef OPENFILENAME
#undef LPCTSTR
#undef DWORD
#undef LPWSTR
#undef LPCWSTR
#undef _GUID_NULL
#define HWND W32HWND
#define HWND__ W32HWND__
#define HANDLE W32HANDLE
#undef MAX_PATH
#undef TCHAR
#define WIN32_LEAN_AND_MEAN
#define WinMain WinMain2
#include <windows.h>
// Zauber Zauber schon ein fehler weg ;D
typedef struct tagOFN { /* ofn */
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCSTR lpstrFilter;
LPSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPSTR lpstrFile;
DWORD nMaxFile;
LPSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPSTR lpstrInitialDir;
LPCSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCSTR lpstrDefExt;
DWORD lCustData;
//LPOFNHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
} OPENFILENAME;
#include "radcpp.h"
namespace __GLBASIC__ {
ENDINLINE
Projekt/Optionen:
cmp: -w -W -Os -fno-rtti
ink: -lradcpp -lwinmm -lcomctl32 -lole32 -lwininet -lkernel32 -luuid -lolepro32 -limagehlp -mwindows -s
Es gibt eine Linkeroption die multiple definitions zulässt - goggle mal.
Lange gesucht, jedoch nichts brauchbares finden können...
Der mist ist ja das diese definitionen beide in einer Lib enthalten sind :/
Wenn einer diesen "flag" fürn Compiler kennt, möge er mir diesen doch bitte sagen :)
Radcpp ist wie Fussball spielen, man steht kurz vor dem Tor und ballert trotzdem über die Latte drüber...
Hab so langsam das gefühl Radcpp und GLB können sich nicht leiden :(
Probier mal "-z muldefs"
Danke, geht leider nur net :/
doppelpost :)
Hi Gernot jetzt gibt es nurnoch den:
gpc_temp1.o:gpc_temp1.cpp:(.text+0xa2): undefined reference to `_APP::_APP(W32HINSTANCE__*)'
Der dx8input-Fehler ist jetzt weg!
Jo - das ist ein Teil deiner Bibliothek, der jetzt fehlt.
class APP
{
APP(HINSTANCE) {} <-- dieser Konstruktor
Also in dem Rapcpp-Header ist es so geschieben :
class _APP {
private:
bool AllInitialized;
unsigned long __start_ticks;
String xfileName,xpath;
HINSTANCE instance;
HMODULE rchEd32;
static int hkcount;
public:
StringList arguments;
//HACCEL accTable;
PROPERTY(_APP,unsigned long,Property_ReadOnly,ticks)
PROPERTY(_APP,String,Property_ReadOnly,fileName)
PROPERTY(_APP,String,Property_ReadOnly,path)
PROPERTY(_APP,String,Property_ReadOnly,buildDate)
PROPERTY(_APP,String,Property_ReadOnly,buildTime)
void close();
void exit();
unsigned long getTicks();
String getFileName();
String getPath();
String getBuildDate();
String getBuildTime();
StringList getArguments();
void makeArguments(TCHAR*);
//void clearHotKeys();
//WORD setHotKey(WORD,WORD,WORD);
HINSTANCE getIntstance();
_APP (HINSTANCE=GetModuleHandle(NULL));
operator HINSTANCE ();
~_APP ();
operator bool ();
};
Ist es ein problem mit den:
#define HINSTANCE W32HINSTANCE
#define HINSTANCE__ W32HINSTANCE__
?
huuui schranz0r hat wieder langeweile :D
net blöd labern, helfen ;)
ohne projekt kann ich nihc helfen :D
alles was du brauchst an "Projekt" steht oben drin
das Radc++ 2.0 wird grad noch selber laden können ;)
_APP (HINSTANCE=GetModuleHandle(NULL));
muss dasn HINSTANCE hier nicht "instance" sein?
Du übergibst doch in nen Konstruktor nicht ne deklarierte Variable?!^^
die member Variable "instance" vom Typ HINSTANCE wird gesetzt, nicht der "Typ HINSTNACE" = Wert einer Funktion.
ist vom Radcpp-header hab mir das auch net wirklich genau angeschaut