Ich habe einige alte C-Code, den ich gerne mit einigen C++ Code kombinieren würde.Iostream Linker Fehler
Der Code C verwendet zu haben, hat folgendes beinhaltet:
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include "mysql.h"
Jetzt versuche ich es C machen verwenden ++ mit Iostream wie folgt aus:
#include <windows.h>
#include <stdio.h>
#include <string>
#include <iostream>
#include "mysql.h"
Aber ich halte die folgende bekommen Linker-Fehler beim Kompilieren:
[Linker Fehler] undefinierter Verweis auf `std :: string :: size() const '
[Linker error] undefiniert Bezugnahme auf `std :: string :: operator [] (unsigned int) const‘
[Linker error] undefiniert Bezugnahme auf `std :: string :: operator [] (unsigned int) const '
[Linker error] undefiniert Bezugnahme auf `std :: string :: operator [] (unsigned int) const'
[Linker error] undefiniert Bezugnahme auf` std :: ios_base :: Init :: Init() '
[Linker Fehler] undefinierter Verweis auf `std :: ios_base :: Init :: ~ Init()'
ld returned 1 exit status
Wie das ich lösen?
Edit: Mein Compiler ist Dev-C++ 4.9.9.2
Wird '-lc' nicht mit' libc' verknüpft, was eine C-Laufzeitbibliothek ist, nicht C++? Für C++ muss man mit der C++ - Standardbibliothek 'libstdC++' verbinden, indem man den '-lstdC++' -Parameter zu 'gcc' verwendet (oder einfach' g ++ 'benutzt, was automatisch geschieht). Versuchen Sie nicht zu helfen, wenn Sie nicht wissen, wie, weil Sie ebenso gut tun können. – SasQ
Ich habe -lC angegeben, was die C++ - Laufzeit auf einigen Unixen ist, nicht -lc. Mein 2. Absatz besagt auch, dass das OP mit dem C++ - Compiler verknüpfen könnte, der die richtigen Bibliotheken und Einstellungen für die Plattform bereitstellen würde. –