Forum: PC-Programmierung Wie Library mit wxWidgets erstellen?


von Peter (Gast)


Lesenswert?

Hallo.

Ich möchte für ein wxWidgets Projekt Teile vom Code in Librarys packen.
Jede Library hat mindestens einen wxWidgets Dialog drin.
Das Hauptprogramm verwendet auch eine wxWidgets Oberfläche.
Soweit mein vorhaben.

Wenn ich alles als ein Programm schreibe geht der Code!


Aber nun versuche ich eine Library zu erstellen und da scheitere ich 
schon.
Als IDE benutze ich CodeBlocks.

Wie muss ich unter CodeBlocks eine Library anlegen und wie würde der 
Code dann dafür aussehen?

Wie kann ich verhindern das die ganzen wxWidgets Funktionen mit in die 
LIB rein kommen und sich dann möglicherweise gegenseitig stören?

Viele Grüße, Peter

von Andreas B. (andreasb)


Lesenswert?

Peter schrieb:
> Hallo.
>
> Ich möchte für ein wxWidgets Projekt Teile vom Code in Librarys packen.

Statisch oder Dynamisch?

Warum?

> Jede Library hat mindestens einen wxWidgets Dialog drin.
> Das Hauptprogramm verwendet auch eine wxWidgets Oberfläche.
> Soweit mein vorhaben.

Sollte eigentlich kein so grosses Problem sein, das macht der Linker...

> Wenn ich alles als ein Programm schreibe geht der Code!

Das ist schon mal nicht schlecht...

> Aber nun versuche ich eine Library zu erstellen und da scheitere ich
> schon.

An was? Habe Code Blocks schon länger nicht mehr benutzt, aber 
schlussendlich wird ja warscheinlich einfach der GCC angeworfen.

Grundsätzlich funktioniert das so, für statische Libs:
http://www.mikrocontroller.net/articles/Libraries

> Als IDE benutze ich CodeBlocks.
>
> Wie muss ich unter CodeBlocks eine Library anlegen und wie würde der
> Code dann dafür aussehen?

Am Code musst du grundsätzlich mal nichts ändern...

> Wie kann ich verhindern das die ganzen wxWidgets Funktionen mit in die
> LIB rein kommen und sich dann möglicherweise gegenseitig stören?

Sollte kein Problem sein...

> Viele Grüße, Peter

von Peter (Gast)


Lesenswert?

Das ganze ist Statisch.  Also keine DLLs.

Ich will das sozusagen auslagern, weil ich dann einfacher die Funktionen 
in anderen Projekten verwenden kann.
Gut das geht auch mit mit kopieren der entsprechenden Dateien aber eine 
Lib ist dann doch was hübscheres. Die kann man dann auch mal weiter 
geben.

Unter CodeBlocks kann ich sagen baue eine Lib, oder Baue eine wxWidgets 
Anwendung.
Aber nicht baue mir eine Lib mit/für wxWidgets.

Ich habe heute nochmal gesucht aber ich finde einfach nichts.
Mag sein das ich zu Blöd bin um was zu suchen.

von Peter (Gast)


Lesenswert?

Hat den keiner hier eine Idee und kann mir helfen?

von Andreas B. (andreasb)


Lesenswert?

Peter schrieb:
> Hat den keiner hier eine Idee und kann mir helfen?

Doch.

Peter schrieb:
> Aber nicht baue mir eine Lib mit/für wxWidgets.

Das musst du auch gar nicht, was du willst ist eine ganz normale 
statische Lib.
Bei dieser musst du zwar in den Projektkonfigurationen die wxWidgets 
Includes (Verzeichnisse) angeben, aber sonst nichts.

Danach linkst du diese Lib in dein Hauptprojekt, fertig.



mfg Andreas

von Peter (Gast)


Lesenswert?

Klingt erst einmal einfach.

ABER was machen ich mit den Dialogen?
Unter Codeblocks steckt doch wxsmith als GUI Designer und damit baue ich 
doch meine Dialoge.

Klar ich kann unter einem parallel Projekt die Dialoge bauen und in 
meinem LIB Projekt die CPP Dateien rein laden.
Aber dann habe ich nicht alles in einem Projekt, was die Sache 
umständlicher und fehleranfälliger macht.

von Andreas B. (andreasb)


Lesenswert?

Peter schrieb:
> Klingt erst einmal einfach.
>
> ABER was machen ich mit den Dialogen?
> Unter Codeblocks steckt doch wxsmith als GUI Designer und damit baue ich
> doch meine Dialoge.
>
> Klar ich kann unter einem parallel Projekt die Dialoge bauen und in
> meinem LIB Projekt die CPP Dateien rein laden.
> Aber dann habe ich nicht alles in einem Projekt, was die Sache
> umständlicher und fehleranfälliger macht.

Hmm, das ist dann aber eine Code::Blocks Einschränkung. Ich weiss gerade 
nicht wie du da Dialoge in einer Lib erstellst.

Ggf. im Entsprechenden Code::Blocks Forum fragen...


mfg Andreas

von Peter (Gast)


Lesenswert?

Hat ein Freund schon gemacht aber noch keine richtige Antwort erhalten.
Darum habe ich einfach mal hier gefragt, da hier ja auch einige sind die 
sich damit auskennen.

Auch wenn es nicht so schön ist, ich mache jetzt 2 Projekte.
Eins für die Lib und eins für die Dialoge.

Wenn jemand doch eine Idee hat wie man das in einem Projekt machen kann 
dann baue ich alles gerne noch mal um.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.