Wie kann ich includen ohne Pfadangabe?
-
Hallo! Ich habe gerade meine erste WxWidgets Anwendung geschrieben als ichauf 'erstellen' geklickt habe hat er(derCompiler) gemeckert dass er die Include nicht kennt er öffnet also wx.h und lässt mich alle includes ändern(ich muss immer den Pfad angeben), jetzt die Frage: Wie mach ich das das nicht so ist, ich will nicht in die wxwidgets header irgendwas schreiben das dann evtl. einen Fehler verursacht kann ich da was mache, vllt. die header ins Include verzeichnis meiner IDE kopieren? Ich verwende VS 2005 Professional Edition Danke im Voraus falls es jemandem hilft: [cpp]//base.cpp #include "wx.h" #include "base.h" IMPLEMENT_APP(HalloWeltApp) bool HalloWelt::OnInit() { BasicFrame *frame = new BasicFrame(wxT("Hallo Welt"), 50, 50, 450, 300); frame->Show(TRUE); SetTopWindow(frame); return TRUE; } BasicFrame::BasicFrame(const wxChar *title, int xpos, int ypos, int width, int height):wxFrame((wxFrame*) NULL, -1, title, wxPoint(xpos, ypos), wxSize(width, height)){} BasicFrame::~BasicFrame(){}
//base.h
#ifndef BASIC_H
#define BASIC_Hclass HalloWeltApp : public wxApp
{
public:
virtual bool OnInit();
};class BasicFrame : public wxFrame
{
public:
BasicFrame(const wxChar *title, int xpos, int ypos, int width, int height);
~BasicFrame();
};
#endif[/cpp]
-
SRY hab mich irgendwie vertan
Hallo!
Ich habe gerade meine erste WxWidgets Anwendung geschrieben als ichauf 'erstellen' geklickt habe hat er(derCompiler) gemeckert dass er die Include nicht kennt er öffnet also wx.h und lässt mich alle includes ändern(ich muss immer den Pfad angeben), jetzt die Frage:
Wie mach ich das das nicht so ist, ich will nicht in die wxwidgets header irgendwas schreiben das dann evtl. einen Fehler verursacht kann ich da was mache, vllt. die header ins Include verzeichnis meiner IDE kopieren?
Ich verwende VS 2005 Professional Edition
Danke im Voraus
Nur damit man es nicht entziffern muss
-
WxWidgets'ler schrieb:
(ich muss immer den Pfad angeben),
Falsch. Du musst das Verzeichnis in die Liste der Standard-Include-Verzeichnisse aufnehmen
- das das wx-Verzeichnis enthält wenn deine Includes in der Form <wx/foo.h>
+parent
|
+wx
|
+...=> parent aufnehmen
- das foo.h enthält wenn solche Du solche includes hast <foo.h>
+parent
|
+wx
|
+...=> wx aufnehmen
Das machst Du in den
Projekteigentschaften(rechte Maustaste auf dem Projekt im Solution Explorer)
=> Configuration Properties
=> C/C++
=> General
=> Additional Include DirectoriesAls nächste wird wohl die Frage zum Linker aufkommen:
Projekteigentschaften(rechte Maustaste auf dem Projekt im Solution Explorer)
=> Configuration Properties
=> Linker
=> General
=> Additional Library Directoriesfür das Verzeichnis der wx Libs
und
Projekteigentschaften(rechte Maustaste auf dem Projekt im Solution Explorer)
=> Configuration Properties
=> Linker
=> Input
=> Additional DependenciesNamen der wx Libs
Grüsse
*this
P.S.: Du kannst Deine Beitrgäge auch noch nachträglich editieren; oben rechts
-
Hallo
Erstmal Danke,
fatal error C1083: Datei (Include) kann nicht geöffnet werden: "wx.h": No such file or directory
gibt er aber noch immer aus wenn ich das gemacht habe was du gesagt hast(Ich habe den Pfad zum Include Verzeichnis, zu den libs, und den namen der lib angegeben)
muss ich das bei jedem Projekt machen oder speichert er das?
-
gibts da irgendwo ne anleitung oder so?
-
A)
Gast++ schrieb:
kennt er öffnet also wx.h
fatal error C1083: Datei (Include) kann nicht geöffnet werden: "wx.h": No such file or directory
gibt er aber noch immer aus wenn ich das gemacht habe was du gesagt hast(Ich habe den Pfad zum Include Verzeichnis, zu den libs, und den namen der lib angegeben)
Was denn nun? Entweder A oder B.
Btw. wohl eher <wx.h>; nicht "wx.h".gibts da irgendwo ne anleitung oder so?
Die hatte ich Dir gerade gegeben...
Grüsse
*this
-
fatal error C1083: Datei (Include) kann nicht geöffnet werden: "wx/defs.h": No such file or directory
das kommt wenn ich es mit <> mache
und wtf ist A) und was B)?
-
WxWidgets'ler schrieb:
und wtf ist A) und was B)?
wtf ? => EOF !
-
wenn man nicht includen kann .... liegts wohl daran das man es _nicht kann_ (vom wissen her)... also so gehts:
variante a) #include <datei.h>
variante b) #include "datei.h"Variante a)
sucht die datei in den Compiler eingetragenen include-verzeichnissen... wenn man dort einen unter order hat muss man <unterordnername\datei.h> angeben !!!!!!!!!Variante b) sucht im selben ordner wie die datei die compiliert wird...
also entweder vertauschste "" mit <> oder andersrum oder aber hast dein compiler nicht richtig konfiguriert, wenn das der fall sein sollte:
Tools -> optionen -> projekte und projektmappen -> VC++ Directories[verzeichnisse] -> Platform "Win32" -> show directories for(zeige verzeichnisse für) "Include files"
dann füge die fehlenden ordner an, und fertig - sollte es Probleme geben ändere die reihnfolge - hat bei mir auch mal nen paar fehler gemacht xDMfG
-
Hallo
Ich habe jetzt auch das gemacht was du gesagt hast nun bekomme ich folgende Fehlermeldung:
C:\wxWidgets-2.8.3\lib\watcom\odbc32.lib : fatal error LNK1136: Ungültige oder beschädigte Datei.
Ich habe es schon mit neuinstallieren versucht(3mal), bekomme jadoch immernoch diese Meldung