当前位置:  开发笔记 > 编程语言 > 正文

iostream链接器错误

如何解决《iostream链接器错误》经验,为你挑选了1个好方法。

我有一些旧的C代码,我想与一些C++代码结合起来.

以前的C代码包含以下内容:

#include 
#include 
#include 
#include "mysql.h"

现在我试图让它像这样使用带有iostream的C++:

#include 
#include 
#include 
#include 
#include "mysql.h"

但是在编译时我不断收到以下链接器错误:

[链接器错误]对`std :: string :: size()const'的未定义引用

[链接器错误]对`std :: string :: operator [](unsigned int)const'的未定义引用

[链接器错误]对`std :: string :: operator [](unsigned int)const'的未定义引用

[链接器错误]对`std :: string :: operator [](unsigned int)const'的未定义引用

[链接器错误]对`std :: ios_base :: Init :: Init()'的未定义引用

[链接器错误]对`std :: ios_base :: Init :: ~Init()'的未定义引用

ld返回1退出状态

我该如何解决这个问题?

编辑:我的编译器是Dev-C++ 4.9.9.2



1> Max Lybbert..:

C string.h头和C++ string头不可互换.

但总的来说,您的问题是文件正在正确编译,但错误的运行时库正在被链接.

Dev-C++使用GCC.GCC可以根据文件扩展名正确地确定文件中的语言,但不会链接正确的运行时库,除非您特别要求它(命令行中的-lstdc ++).将GCC称为"g ++"(或者,在您的情况下,称为"mingwin32-g ++")也将获得正确的语言,并将链接所需的库.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有