没有可用于"libstdc++-6!_ZNSo9_M_insertIlEERSoT_() at 0x6fc868a8"的来源
No source available for "libstdc++-6!_ZNSo9_M_insertIlEERSoT_() at 0x6fc868a8"
我正在使用MinGW(最初与mingw-get-inst-20120426.exe一起安装)与Windows 7 Starter 32位下的Eclipse for C/C++(Indigo SR2)结合使用,我刚刚升级到gcc/g ++ 4.7.0:
mingw-get update
mingw-get upgrade
我修复了 Eclipse 保留旧版本引用的问题 ( https://bugs.eclipse.org/bugs/show_bug.cgi?id=206372#c2 )
但是当我尝试运行像这样简单的程序时,它崩溃了:
#include <iostream>
#include <cstdlib>
using namespace std;
int main (int argc, char* argv[])
{
cout << "one = " << 1 << "n";
return EXIT_SUCCESS;
}
当我尝试调试时,问题似乎来自cout
行:
cout << "one = " << 1 << "n";
如果我跨过它,Eclipse 会向我发出此错误信号:
No source available for "libstdc++-6!_ZNSo9_M_insertIlEERSoT_() at 0x6fc868a8"
下面是单击"单步跳过"该行后 IDE 的屏幕截图:https://i.stack.imgur.com/QexxQ.png
同样的程序以前工作正常,但现在不行了。
我什至创建了一个新项目(我没有在编译器/链接器选项中触及任何内容),但同样的问题仍然存在。
请问有人有解决方案吗?
提前感谢您的帮助:)
找到了! :D
正如 Dennis 所提到的,运行时 dll 似乎与链接时使用的运行时 dll 不同。
实际上,Eclipse链接到C:\mingw\bin\libstdc++-6.dll但是在执行时,使用了另一个(即C:\Program Files\gnuplot\bin\libstdc++-6.dll>_<),因为gnumplot(我很久以前安装的,顺便说一下,;)不错的软件)将其安装目录添加到PATH中(即使C:\mingw\bin也在PATH中)(它也添加了一些其他环境变量)
我很生气,我删除了与 gnuplot 相关的所有内容,哈哈(即它从 PATH 的路径、它的环境变量,我卸载了该程序)。我还删除了Cygwin(即使它不在PATH中,但是我已经很长时间没有使用它了,所以......
然后,我升级到4.7
mingw-get update
mingw-get upgrade
我也做了Eclipse的事情
现在一切都很好:
one = 1
:)
C:WindowsSystem32>gcc --version
gcc (GCC) 4.7.0
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
C:WindowsSystem32>g++ --version
g++ (GCC) 4.7.0
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
如果有帮助,我使用 Dependency Walker 来确定可执行文件使用的运行时 dll(只需在 Dependency Walker 中加载 exe,然后右键单击 LIBSTDC++-6.DLL>属性)
好吧,我知道这个问题得到了很好的回答,但我只想分享我的经验,因为我对它感到困惑了很长时间(是的,我已经很长时间没有用C++编码了,哈哈)
我意识到这是因为我在安装 JAVA eclipse 并删除旧版本(也许 4.6.2 我记不清楚)时安装了 MinGW 4.8.1,而 dll 无处可寻。
我没有在 Path 中更改任何内容。我所做的只是重新安装MinGW,单击并单击,并更新它提供的所有lib文件,然后cin & cout工作。好吧,我真的不知道为什么和wth正在发生,但是现在它起作用了。
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 在C++中使用 Catch 测试框架编译错误"error: expected ';' at end of declaration list"
- CMake 用于设定C++标准的设施 "at least C++NN"
- SIGSEGV on Boost UDP 套接字关闭 - tcache_get at malloc.c.
- 使用 mat.at<uchar>(i,j) 的 opencv C++中的矩阵赋值错误
- CMake Error at modules/videoio/cmake/detect_ffmpeg.cmake:16
- 当键值是 std 向量时,为什么使用 at in C++ 访问映射值如此缓慢?
- 两个垫子的 OpenCV 数据是相同的,但使用 Mat::at 检索时的值已损坏
- 使用 at() 访问 std::map 元素是否比运算符 [] 慢?
- 错误:调用 .. at return 语句时没有匹配函数
- OpenCV 像素访问点与 at() - 不同的值
- C++11 功能 std::map::at 编译旧版本的C++
- AT 命令响应解析器
- 在macOS上使用libcurl库编译一个c++at项目
- 使用模板时获取"Trigger Breakpoint Error at delete"
- 为什么向量的.at()成员函数返回引用而不是迭代器
- 向量数组"Cannot access memory at address"
- 编译代码时"[Warning] extra tokens at end of"
- 没有可用于"libstdc++-6!_ZNSo9_M_insertIlEERSoT_() at 0x6fc868a8"的来源