Compiler problem?!

Petr

Grünschnabel
Hallo!

Nachdem ich mein Dev-C++ auf die neueste version gebracht habe, gibt es ein Problem. Und zwar:
Code:
case IDM_MY_MAPNEW:
             	/*now we open a open/save-file dialog*/
             	//Initialization of OPENFILENAME//
             	ZeroMemory(&open_p, sizeof(open_p)); 
             	open_p.lStructSize = sizeof(open_p);
             	open_p.hwndOwner= hwnd;
             	open_p.lpstrFile= file_name;
             	
             	
             	open_p.lpstrFile[0] = '\0';								//we don't use file_name to initialize GetOpenFileName
             	open_p.nMaxFile = sizeof(file_name);
           		open_p.lpstrFilter = "All\0*.*\0CSV\0*.CSV\0";			//which file formats we ant to open
           		open_p.nFilterIndex = 2;								// we use 2. of filter as default option
           		open_p.lpstrFileTitle = NULL;
           		open_p.nMaxFileTitle = 0;
           		open_p.lpstrInitialDir = NULL;
           		open_p.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;	//We want to be sure that this file exist
           		/* open/save-file dialog i ready and on the screen now*/
           		
           		/*we use the path of file to construct our new map*/
           		if (GetOpenFileName(&open_p)==TRUE) 
               		ConstructMap(open_p.lpstrFile);
               		Init(hwnd);
             return 0;

Der compiler m,eldet folgendes:
main.cpp: undefined reference to `GetOpenFileNameA@4'

Was ist hier los? Was fehlt ihm plözlich?

Ich bin mittlerweile seit zwei Tagen am verzweifeln.
 
Vergessen das entsprechende Haederfile zu includieren wo sich die Methode
GetOpenFileName() befindet bzw die Bibliothek wo sie implementirt ist beim kompilieren mit dazulinken?

Gruß

RedWing
 
Zuletzt bearbeitet:
Nein war ein versprecher von mir.
Das is eigentlich ne Fehlermeldung vom Linker.
Er kann die benötigte Bibliothek in der getOpneFile() implementiert ist nicht finden.
Die müsstest du dazu linken...

Gruß

RedWing
 
Sorry, ich war sehr beshäftigt hier, deswegen kam ich erst heute dazu dies zu lesen.
Genau das verstehe ich nicht. GetOpenFileName() ist doch die Standart funktion von CommonOpenSavedialog, oder? Meines Wissens nach ist sie standartmässig schon drin, sprich es müsste eigentlich windows.h reichen. Oder gibt es irgendwie noch einer Bibliothek die für die "Standartsachen" zustädig ist hist ungefair comman.lib oder comman32.lib:( . Mittlerweile habe ich das erst ruhen lassne mache andre Sachen, aber falls hier jemand die Antwort weiß, wäre ich dieser Person unendlich dankbar.
 
Du musst unterscheiden zwischen Headerdatei includieren (*.h oder *.hpp) und eine statische Bibliothek dazulinken (*.lib).
Laut MSDN ist die Funktion GetOpenFileName() in der comdlg32.lib gekapselt.
D. h. du solltest genau diese Bibliothek dazulinken.

Gruß Homer
 
Zurück