problem mit netbeans und openfile



  • Ich bin ganz neu in c++ und komme von visual basic.

    Ich habe, da sehr viel mit der bass.dll gearbeitet nur leider ist mir vb zu wenig leistungsstark und deshalb steige ich jetzt um bin aber hier noch ganz in den anfängen. Im moment benutze ich NetBeans c++ als entwicklungsumgebung jedoch noch als zwischen frage meint ihr das ist gut? oder was würdet ihr entfehlen?

    Jetzt zur eigentlichen Frage ich bekomme bei diesem Code:

    ZeroMemory(&ofn, sizeof(OPENFILENAME));
    ofn.lStructSize = sizeof(OPENFILENAME);
    ofn.hwndOwner = hwnd;
    ofn.lpstrFile = szFile;
    ofn.nMaxFile = sizeof(szFile);
    ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
    ofn.nFilterIndex = 1;
    ofn.lpstrFileTitle = NULL;
    ofn.nMaxFileTitle = 0;
    ofn.lpstrInitialDir = NULL;
    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
    
    //openfile anzeigen
    
    if (GetOpenFileName(&ofn)==TRUE)
        hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
            0, (LPSECURITY_ATTRIBUTES) NULL,
            OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
            (HANDLE) NULL);
    }
    

    diesen fehler:

    C:\Users\Florian\Documents\NetBeansProjects\OpenFile/main.cpp:38: undefined reference to `GetOpenFileNameA@4'
    

    jedoch vermute ich es liegt daran, dass dies hier nicht eingebunden ist: lcomdlg32

    denn in visual studio funktioniert das tadellos und da ist das eben eingebunden.

    jetzt meine frage wie binde ich das in netbeans beim linker ein? oder wie heißt das dort weil ich finde das nicht 😡

    danke schon mal im voraus

    mfg



  • Die IDE die Du verwendest ist Geschmacks sache... ich verwende Eclipse weils das fuer alle moeglichen plattformen gibt und viele coole Gimmiks hat. Fuer kleinere Sachen reicht aber oft auch schon vi.... Warum also nicht netbeans? das kann dir niemand beantworten musst Du mal sehen womit du schneller arbeiten kannst.

    Zu deineme Problem: Du musst die header mit #include einbinden und dann irgendwo den Pfad angeben du kannst das bestimmt irgendwie auch per commandozeile einbinden
    das waere dann -llcomdlg32
    aber wo genau das bei netbeans ist kann ich nicht sagen. Das sollte aber nciht besonders versteckt sein da man sowas ja doch recht regelmaessig braucht.



  • thefiloe schrieb:

    ...komme von visual basic...in visual studio funktioniert das tadellos...

    Ungeachtet das ich NetBeans nie für C++ verwendet habe, wundere ich mich das du nicht beim Visual Studio geblieben bist, wenn du dich damit auskennst. Unter Windows werden in der Regel Visual Studio (bzw. Visual C++ Express) oder Code::Blocks empfohlen (Für die Windows-API Entwicklung würde ich eher zu ersteren greifen).



  • ich besitzte natürlich das professional aber finde netbeans irgendwie angenehmer und 2. habe ich es mit dem command -.... schon früher versucht funktioniert aber nie... ich habe schon eine andere lib eingebunden diese ist aber nicht standartmäßig sondern von bass.dll.

    Ich habe jetzt das hier zur verfügung:

    http://s10.directupload.net/images/101202/sebry3o2.png

    oder anderst weiß jemand wo ich den compile command sehe? dan könnte ich auch einfach

    -lcomdlg32

    hinzufügen nur ich finde mich in netbeans was das anbelangt einfach nicht zurecht



  • Und unter Input -> "Additional dependencies" trägst du nun Comdlg32.lib EDIT: bzw. nur Comdlg32 ein.

    Btw: Von einem VS pro würde ich mich nicht so schnell trennen wollen...



  • ok habs jetzt entgültig es muss das -lcomdlg32 hinten dran das macht man bei linker -> libarys -> Add Option -> dann other und im textfeld eben -lcomdlg32 eingeben

    aber noch eine Frage wie bekomm ich das jetzt so hin, dass wenn ich jetzt von mir aus als Pfad C:\Datei.mp3 habe muss ich ja anstatt dem \ ein \\ einfügen wie geht das?


Anmelden zum Antworten