Tengo un viejo código C que me gustaría combinar con algún código C++.Error iostream linker
El código C solía tener tiene la siguiente incluye:
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include "mysql.h"
Ahora estoy tratando de hacer que use C++ con iostream como esto:
#include <windows.h>
#include <stdio.h>
#include <string>
#include <iostream>
#include "mysql.h"
pero aparece el siguiente errores del enlazador cuando compilo:
[Error del enlazador] referencia indefinida a `std :: string :: size() const '
[error Enlazador] referencia indefinida a `std :: string :: operator [] (unsigned int) const'
[error Enlazador] referencia indefinida a` std :: string :: operator [] (sin signo int) const '
[error Enlazador] referencia indefinida a `std :: string :: operator [] (unsigned int) const'
[error Enlazador] referencia indefinida a` std :: ios_base :: Init :: Init() '
[Error de enlazador] referencia indefinida a `std :: ios_base :: Init :: ~ Init()'
ld devolvió el código de salida 1
¿Cómo puedo solucionar esto?
Editar: Mi compilador es Dev-C++ 4.9.9.2
¿No '-lc' vinculará con' libc' que es una biblioteca de tiempo de ejecución de C, no C++? Para C++, se necesita vincular con la Biblioteca Estándar de C++, 'libstdC++', usando el parámetro '-lstdC++' a 'gcc' (o simplemente usando' g ++ 'que lo hace automáticamente). No trates de ayudar si no sabes cómo, porque también puedes hacer una travesura. – SasQ
Especifiqué -lC, que es el tiempo de ejecución C++ en algunos unixes, no -lc. Mi segundo párrafo también indicó que el OP podría vincularse utilizando el compilador C++, que proporcionaría las bibliotecas y configuraciones correctas para la plataforma. –