Forum: PC-Programmierung code::blocks


von Es ist zum Mäuse melken (Gast)


Lesenswert?

libstdc++-6.dll

Beim Debug findet er das file nicht. Muß es in der Konfiguration separat 
angegeben werden? Wenn ja, wo?

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Es ist zum Mäuse melken schrieb:
> libstdc++-6.dll

Ähm Windows oder Linux?
Windof je nach Version wird er das File "libstdc++-6.dll" nicht mal 
finden wenn es direkt im Verzeichniss ist.
Sonst ja das LIB und DLL Verzeichnis in der Config angeben.

Aber was hast du für eine IDE?
Meine Glaskugel ist da leider etwas getrübt... :-D

von Es ist zum Mäuse melken (Gast)


Lesenswert?

Windows10 Prof

von Es ist zum Mäuse melken (Gast)


Lesenswert?

Es ist zum Mäuse melken schrieb:
> Windows10 Prof

Code::Blocks

von Schlaumaier (Gast)


Lesenswert?

https://www.processlibrary.com/de/directory/files/libstdc++-6/2295/

Die ordnen die Datei GIMP zu.

Es ist zum Mäuse melken schrieb:
> libstdc++-6.dll
>
> Beim Debug findet er das file nicht. Muß es in der Konfiguration separat
> angegeben werden? Wenn ja, wo?

Wenn du sie in einen Compiler nutzt, musst du sie 2 x angeben i.d.R.

Einmal mit Pfad wo er sie findet, und dann als #inlude  für den Compiler 
damit der das auch weiß was er von der Liste einbinden muss.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Habe schon ne weile nicht mehr damit gearbeitet,
EDIT: Habe gesehen hast schon Antwort muss ich ja nicht wiederhohlen ;-)

Danke Schlaumaier ;-) war auch nicht mehr sicher :-)

: Bearbeitet durch User
von Programmierer (Gast)


Lesenswert?

Schlaumaier schrieb:
> https://www.processlibrary.com/de/directory/files/libstdc++-6/2295/
>
> Die ordnen die Datei GIMP zu.

Das ist Quatsch. Das ist die C++-Standard Library die vom GCC/MinGW 
genutzt wird. Kann sein dass GIMP die verwendet, wie tausende andere 
Programme auch. Diese Website ist totaler Käse.

Schlaumaier schrieb:
> Einmal mit Pfad wo er sie findet, und dann als #inlude  für den Compiler
> damit der das auch weiß was er von der Liste einbinden muss.

DLL's inkludiert man nicht, die Standard Library schon gar nicht.

Die DLL sollte sich im Installationsverzeichnis des Compilers finden. 
Einfach die Windows-Suche bemühen. Wenn du die DLL in das Verzeichnis 
kopierst, in dem sich die Anwendung (.exe-Datei) befindet, sollte sie 
immer gefunden werden. Wenn du mit -static-libstdc++ linkst, wird die 
DLL statisch gelinkt, d.h. sie wird in die .exe-Datei übernommen und ist 
nicht mehr als separate Datei erforderlich.

von Programmierer (Gast)


Lesenswert?

PS: Alternativ kannst du auch den Installationspfad des Compilers, wo 
sich auch die DLL befindet, zur Path-Umgebungsvariable hinzufügen. Dann 
wird die DLL von allen Programmen immer direkt gefunden. Angenehmer 
Nebeneffekt: Man kann den Compiler von der Kommandozeile (cmd.exe) aus 
aufrufen. Beim Weitergeben der eigenen Anwendung muss man aber 
aufpassen, dass man nicht vergisst, die DLL mitzuliefern, weil es ja auf 
dem eigenen PC funktioniert.

von Schlaumaier (Gast)


Lesenswert?

Programmierer schrieb:
> Die DLL sollte sich im Installationsverzeichnis des Compilers finden.

Ich kenne sie nicht.

Also habe ich sie für eine "extra einzubindene" DLL gehalten. Und JA, 
die bindet man ein bei VB / VC.

Bei VB unter Projekt -> Eigenschaften -> Verweise

Meine Liste ich da ca. 12-16 Einträge groß. Alles DLL.  Interops ist 
z.b. eine sehr bekannte, aber auch die Mp3-Id3-Dll wäre da zu nennen. 
Und nicht zu vergessen meine eigene.

Ich melde die dann mit
Imports Microsoft.Office.Interop.Excel.XlApplicationInternational
an.

Und geben eine globale Variable mit.
Public excel As New Microsoft.Office.Interop.Excel.Application


Und was den TO angeht.  Entweder er hat die Datei nicht (soll mal Platte 
global absuchen) oder sie gehört nicht zum Standard des Compiler. Dann 
muss er sie einbinden.

Da da TO aber nicht mal gesagt hat, welchen (wenn überhaupt) Compiler er 
nutzt ....

Und wenn er nur ein Prg. installiert hat wo das Install-Paket "seltsam" 
ist, und die benötigte DLL nicht dabei hat, würde ich sagen 
nachinstallieren + Registieren der DLL oder neues Setup-Teil suchen.

von Programmierer (Gast)


Lesenswert?

Schlaumaier schrieb:
> Ich kenne sie nicht.

Dann halte dich aus Dingen raus, von denen du keine Ahnung hast.

Schlaumaier schrieb:
> Also habe ich sie für eine "extra einzubindene" DLL gehalten. Und JA,
> die bindet man ein bei VB / VC.
>
> Bei VB unter Projekt -> Eigenschaften -> Verweise
>
> Meine Liste ich da ca. 12-16 Einträge groß. Alles DLL.

Toll. Die libstdc++-6.dll bindet man aber nie manuell ein, das macht der 
Compiler-Driver (g++) automatisch. Schließlich braucht sie praktisch 
jedes damit erstellte Programm.

Schlaumaier schrieb:
> Entweder er hat die Datei nicht (soll mal Platte
> global absuchen) oder sie gehört nicht zum Standard des Compiler.

Die gehört natürlich zum Compiler-Paket dazu, es wäre ziemlich dumm 
einen C++-Compiler zu veröffentlichen, der eine Standard-Bibliothek 
voraussetzt, die er aber nicht mitliefert.

Schlaumaier schrieb:
> Da da TO aber nicht mal gesagt hat, welchen (wenn überhaupt) Compiler er
> nutzt ....

Offensichtlich ist es der GCC/MinGW, denn die libstdc++-6.dll ist dessen 
Standard-C++-Bibliothek. Wie der Name schon sagt.

Das ganze ist ein absolutes Standard-"Problem", was in Millionen 
Forumsbeiträgen schon wiedergekäut wurde. Das ist das ganz normale 
Verhalten vom GCC. Manmanman, wie kann man so viel Unsinn erzählen.

von Schlaumaier (Gast)


Lesenswert?

Programmierer schrieb:
> Das ganze ist ein absolutes Standard-"Problem", was in Millionen
> Forumsbeiträgen schon wiedergekäut wurde. Das ist das ganz normale
> Verhalten vom GCC.

Schön. Dann taugt der Compiler NIX. Weil das Zeug von MS ist wenigstens 
vollständig. ;)

von Programmierer (Gast)


Lesenswert?

Schlaumaier schrieb:
> Schön. Dann taugt der Compiler NIX. Weil das Zeug von MS ist wenigstens
> vollständig. ;)

Der MSVC braucht genau so eine C++-Laufzeitbibliothek. Da heißt die 
"Visual C++ Redistributable". Der einzige Unterschied ist, dass MSVC bei 
der Installation die "Path"-Umgebungsvariable automatisch anpasst, 
sodass die Programme das immer automatisch finden.

Sowohl GCC/MinGW und MSVC sind "vollständig" und liefern die jeweilige 
Bibliothek mit. Der hier verwendete Installer hat bloß den Pfad nicht 
angepasst. Die Bibliothek ist mit 99,9%iger Wahrscheinlichkeit schon auf 
dem Rechner, weil der Compiler sie auch selbst braucht.

Wenn man keine Ahnung hat...

von Schlaumaier (Gast)


Lesenswert?

Programmierer schrieb:
> Der hier verwendete Installer hat bloß den Pfad nicht
> angepasst.

Was bedeutet : UNVOLLSTÄNDIG . Entweder er macht es richtig = 
vollständig oder er macht es nicht.

Und wenn ich Pfade anpassen muss, damit es läuft, und ich das nicht 
weiß, dann verbrauche ich viel Lebenszeit um den Fehler zu finden.

Sollte ich das Teil dann nicht aus irgendwelchen Gründen wirklich 
brauchen, dann fliegt es schneller runter als die Installation brauchte.

Andere Mütter haben auch schöne Töchter.

Selbst unter Linux habe ich bisher es immer geschafft das die Software 
sich automatisch geholt hat was sie brauchte.

Was die "Visual C++ Redistributable" angeht, ich habe schon ca. 40-50 
Programme installiert die die gecheckt haben, entweder geupdatet, bzw. 
angeboten mit Warnung wenn nicht, danach oder als "aktuell" befunden 
haben.

Da mache ich außer "Lizensbedingungen akzeptieren" NIX.

von Programmierer (Gast)


Lesenswert?

Schlaumaier schrieb:
> Und wenn ich Pfade anpassen muss, damit es läuft, und ich das nicht
> weiß, dann verbrauche ich viel Lebenszeit um den Fehler zu finden.

Ja, für absolute DAUs ist MinGW nichts. Die sollten besser mit Scratch 
oder so programmieren. Alle anderen schaffen es nach 17 Sekunden Googlen 
das "Problem" zu lösen.

Schlaumaier schrieb:
> Sollte ich das Teil dann nicht aus irgendwelchen Gründen wirklich
> brauchen, dann fliegt es schneller runter als die Installation brauchte.

Du gibst ja schnell auf.

Schlaumaier schrieb:
> Andere Mütter haben auch schöne Töchter.

MSVC hat auch seine Tücken.

Schlaumaier schrieb:
> Selbst unter Linux habe ich bisher es immer geschafft das die Software
> sich automatisch geholt hat was sie brauchte.

Unter Linux ist vieles einfacher. Aber manche Leute sind auf Windows 
angewiesen.

Schlaumaier schrieb:
> Was die "Visual C++ Redistributable" angeht, ich habe schon ca. 40-50
> Programme installiert die die gecheckt haben, entweder geupdatet, bzw.
> angeboten mit Warnung wenn nicht, danach oder als "aktuell" befunden
> haben.

Toll. Da haben die Leute einen Installer gebaut der das macht. Das lässt 
sich mit dem MinGW/GCC sogar noch viel einfacher machen als beim MSVC, 
denn der Installer muss einfach nur die eine DLL (ggf. noch 1-2 weitere) 
mit installieren.

Für die Entwicklung ist das natürlich totaler Schwachsinn. Wie gesagt: 
Die Runtime IST BEREITS INSTALLIERT. Es muss NUR der Pfad gesetzt 
werden, oder nur eine Datei kopiert werden. Einfacher gehts wirklich 
nicht. Wer daran scheitert, sollte nicht programmieren.

Man könnte sogar andersrum argumentieren: Die Visual C++ Runtime ist ein 
riesiger Krake, der kompliziert zu installieren ist und sich in die 
Registry schreibt. Vielleicht wollten die Entwickler des vom TO 
verwendeten Installers nicht am System des Users rumpfuschen. Der User 
(=TO) hat also die Option, den Pfad zu setzen falls gewünscht oder 
lieber die Datei zu kopieren.

von Programmierer (Gast)


Lesenswert?

Schlaumaier schrieb:
> Selbst unter Linux habe ich bisher es immer geschafft das die Software
> sich automatisch geholt hat was sie brauchte.

PS: Unter Linux muss die Runtime auch installiert werden. Nur ist das 
bei den meisten Distros von Anfang an der Fall. Es sei denn ein Programm 
braucht eine andere Version, dann kann es lustig werden.

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.