Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI] - common dialogs

Ostatnio zmodyfikowano 2016-01-09 19:11
Autor Wiadomość
lamus_1234
Temat założony przez niniejszego użytkownika
[WinAPI] - common dialogs
» 2016-01-09 16:18:18
Tworze skromny notatnik w celu nauki WinApi ale utknąłem w pewnym momencie stoję w nim już cały tydzień i mam do was tylko jedno pytanie
czy ktoś wie o co chodzi z taki błędem kompilacji ?

undefined reference to `GetOpenFileNameA@4'

Wyczytałem w internecie że nie mam za linkowanej biblioteki comdlg32, ale nie jestem pewien gdyż niby jest ...

Wstawiam kod do oględzin ale w nim raczej jest wszystko dobrze (ps. urywki kodu)

C/C++
#include <windows.h>
#include <commdlg.h>
#include "plikk.h"
#include <iostream>
#include <fstream>


LRESULT CALLBACK WindowProcedure( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
   
   
    switch( message )
    {
    case WM_COMMAND:
       
        if( LOWORD( wParam ) == 102 ) {
           
            DWORD dlugosc = GetWindowTextLength( okno_textowe ); //dlugosc ci¹gu znakow w okienku tekstowym
            LPSTR tak =( LPSTR ) GlobalAlloc( GPTR, dlugosc + 1 ); // informujemy jaka dlugosc bedzie mial ciag znakow "Bufor"
            GetWindowText( okno_textowe, tak, dlugosc + 1 ); //pobieramy tekst do "Bufor"
            cout << tak;
           
            ofstream plik;
            plik.open( "notatki.txt" );
            plik << tak;
            plik.close();
           
           
            MessageBox( NULL, "Zapis zakonczony pomyslnie", "Zapis", MB_OK | MB_ICONINFORMATION );
        }
       
        if( LOWORD( wParam ) == 101 ) {
            OPENFILENAME ofn;
            char sNazwaPliku[ MAX_PATH ] = "";
           
            ZeroMemory( & ofn, sizeof( ofn ) );
            ofn.lStructSize = sizeof( ofn );
            ofn.lpstrFilter = "Pliki tekstowe (*.txt)\0*.txt\0Wszystkie pliki\0*.*\0";
            ofn.nMaxFile = MAX_PATH;
            ofn.lpstrFile = sNazwaPliku;
            ofn.lpstrDefExt = "txt";
            ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
            if( GetOpenFileName( & ofn ) )
            {
                WczytajPlik( sNazwaPliku, okno_textowe );
            }
        }
       
        break;
       
       
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
        default:
        return DefWindowProc( hwnd, message, wParam, lParam );
    }
   
    return 0;
}



Proszę pomocyy czy naprawdę błąd leży po stronie tej biblioteki nie zalinkowanej? (którą niby mam za linkowana)
P-143185
Gabes
» 2016-01-09 18:17:54
Temat który widziałeś [WinApi] Problem z GetOpenFileName
Czyli do linkuj liba:

Comdlg32.lib - dla Visual Studio
libcomdlg32.a - dla MinGW
P-143190
lamus_1234
Temat założony przez niniejszego użytkownika
» 2016-01-09 19:11:28
Dziękuję niby biblioteka była zalinkowana ale postanowiłem ją usunąć i zalinkować drugi raz dopiero to pomogło. Nie wiem dlaczego....
P-143203
« 1 »
  Strona 1 z 1