J'ai un ancien code C que je voudrais combiner avec du code C++.Erreur de lien iostream
Le code C utilisé pour avoir les éléments suivants sont comprend:
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include "mysql.h"
Maintenant, je suis en train de faire utiliser C++ avec iostream comme ceci:
#include <windows.h>
#include <stdio.h>
#include <string>
#include <iostream>
#include "mysql.h"
Mais je continue à recevoir les éléments suivants erreurs de l'éditeur de liens lorsque je compile:
[Erreur de lien] Référence non définie à `std :: string :: size() const '
[erreur Linker] de référence définie à `std :: string :: operator [] (unsigned int) const »
[d'erreur Linker] undefined reference to `std :: string :: operator [] (unsigned int) const '
[d'erreur Linker] de référence définie à `std :: string :: operator [] (unsigned int) const'
[d'erreur Linker] undefined reference to` std :: ios_base :: Init :: Init() '
[Erreur de lien] Référence non définie à `std :: ios_base :: Init :: ~ Init()'
ld retourné 1 état de sortie
Comment puis-je résoudre ce problème?
Edit: Mon compilateur est Dev-C++ 4.9.9.2
Le lien '-lc' ne sera-t-il pas lié à' libc' qui est une bibliothèque d'exécution C, pas C++? Pour C++, il faut lier avec C++ Standard Library, 'libstdC++', en utilisant le paramètre '-lstdC++' à 'gcc' (ou simplement en utilisant' g ++ 'qui le fait automatiquement). N'essayez pas d'aider si vous ne savez pas comment, car vous pouvez aussi bien faire un mal. – SasQ
J'ai spécifié -lC, qui est l'exécution de C++ sur certains unix, pas -lc. Mon deuxième paragraphe a également déclaré que l'OP pourrait lier en utilisant le compilateur C++, ce qui fournirait les bibliothèques et les paramètres corrects pour la plate-forme. –