【发布时间】:2017-03-08 15:27:41
【问题描述】:
我试图实现一个 c++ 程序,它应该简单地输出一些文本并创建一个 txt 文件并将数据放入这个文件中。我想在 Windows 中将此文件作为 .exe 执行。但是在启动时它立即崩溃并显示以下错误:
英文:“该程序不再工作”。
我在 CodeBlocks 中对此进行了编码,并使用了 GNU GCC 编译器。 我实现了以下代码:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
cout << "Hello world! TEST" << endl;
std::ofstream of("TEXT.TXT");
of<<"Some text here"<<std::endl;
of.flush();
of.close();
std::cout<<"wrote the file successfully!"<<std::endl;
cout << "TEST Done" << endl;
}
调试器信息:
D:/Dokumente/Development/CodeBlocks/Test1/bin/Debug/Test1.exe 完毕 注册新类型:wxString 注册新类型:STL String 注册新类型:STL Vector 设置断点 调试器名称和版本:GNU gdb (GDB) 7.6.1 子进程PID:10052 程序收到信号 SIGILL,非法指令。 在std::piecewise_construct()()中
1 0x0040147c in _fu0___ZSt4cout () at D:\Dokumente\Devlopement\CodeBlocks\Test1\main.cpp:10
D:\Dokumente\Devlopement\CodeBlocks\Test1\main.cpp:10:86:beg:0x40147c 在 D:\Dokumente\Devlopement\CodeBlocks\Test1\main.cpp:10
1 0x0040147c in _fu0___ZSt4cout () at D:\Dokumente\Devlopement\CodeBlocks\Test1\main.cpp:10
D:\Dokumente\Devlopement\CodeBlocks\Test1\main.cpp:10:86:beg:0x40147c
编译器版本 mingw32-gcc-g++ 5.3.0-3 过去,当我第一次创建程序时,我无法启动它,因为缺少一些 dll。我必须把它放到文件夹中(libgcc_s_dw2-1.dll,libstdc++-6.dll) 他们会不会产生冲突?
【问题讨论】:
-
不要发布截图。还请说明与编译器版本一起使用的 C++ 标准。
-
为什么我不应该发布截图?打扰一下。我编辑了上面的帖子
-
尝试创建
of后,需要检查是否成功。 -
很难对嵌入图像的关键字进行网络搜索;虽然,在这种情况下,图像对问题的价值不大,你可以很容易地不用它。如果它包含诊断信息,请将诊断信息复制并粘贴到问题中。如果无法复制,通常最好将它们打出来而不是发布屏幕截图。
-
你可能有某种类型的 dll 冲突。