相关疑难解决方法(0)

什么是__gxx_personality_v0?

这是来自操作系统开发网站的二手问题,但它让我很好奇,因为我无法在任何地方找到合适的解释.

使用gcc编译和链接独立的C++程序时,有时会出现这样的链接器错误:

out/kernel.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
Run Code Online (Sandbox Code Playgroud)

这显然是因为这个符号是在libstdc ++中定义的,它在独立环境中是缺失的.解决问题只需要在某处定义此符号:

void *__gxx_personality_v0;
Run Code Online (Sandbox Code Playgroud)

这很好,但我不喜欢那些神奇地工作的东西......所以问题是,这个符号的目的是什么?

c++ linker gcc kernel

98
推荐指数
5
解决办法
9万
查看次数

在启动程序期间退出代码 0xc0000139

更新:

结果证明这是一个编译器问题(我使用的是MinGW),因此解决方法是切换到另一个编译器(在本例中为Cygwin)。


(原始)问题

我是一名开始自学C++的学生,在尝试使用C++时遇到了问题string

这是我的测试代码(不起作用的代码)

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string myString;

    cin >> myString;
    cout << myString;

    return(0);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,程序刚刚结束并退出,然后我才能输入任何内容,这就是我尝试运行时的结果gdb

(gdb) run
Starting program: C:\Users\DANIEL~1\AppData\Local\Temp\sandbox.exe
[New Thread 15036.0x31bc]
[New Thread 15036.0x2db4]
[New Thread 15036.0x2628]
[New Thread 15036.0x2280]
During startup program exited with code 0xc0000139.
(gdb)
Run Code Online (Sandbox Code Playgroud)

当我尝试制作文件并从 cmd 运行它时

g++ sandbox_string.cpp -o sandbox_string

(我加了_string和_int makefile分开,程序还是一样)

我收到此错误: 未找到入口点

经过一番谷歌之旅后,我相信这个问题与缺少 DLL相关。我怎么知道我缺少什么 …

c++ string crash mingw

12
推荐指数
1
解决办法
9010
查看次数

程序入口点_gxx_personality_v0无法位于动态链接库libstdc ++中 - 6.dll错误

昨天我决定下载,安装并尝试使用Allegro 5.我还下载了Code :: Blocks 12.11 w/MinGW编译器.我设置了所有内容并正确安装了所有内容(或者我认为)并尝试运行示例代码以查看它是否可行:

#include <stdio.h>
#include <allegro5/allegro.h>

int main(int argc, char **argv){

   ALLEGRO_DISPLAY *display = NULL;

   if(!al_init()) {
      fprintf(stderr, "failed to initialize allegro!\n");
      return -1;
   }

   display = al_create_display(640, 480);
   if(!display) {
      fprintf(stderr, "failed to create display!\n");
      return -1;
   }

   al_clear_to_color(al_map_rgb(0,0,0));

   al_flip_display();

   al_rest(10.0);

   al_destroy_display(display);

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译并运行程序时,会出现一个错误消息框,指出"程序入口点_gxx_personality_v0无法位于动态链接库libstdc ++ - 6.dll中." 我在网上搜索了大约一个小时试图找到解决这个问题的方法,就像我对大多数事情一样,但我空手而归.我想知道是否有人对此问题的任何修复有任何想法,如果是这样,请尽快告诉我!提前致谢!

c++ mingw codeblocks windows-vista allegro5

6
推荐指数
1
解决办法
1万
查看次数

使用std :: string导致Windows"找不到入口点"

当我用GCC编译时:

#include <iostream>
#include <string>

int main()
{
    std::cout << std::string("\r\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

通过使用以下批次:

g++ -Wall main.cc
Run Code Online (Sandbox Code Playgroud)

并尝试执行output(a.exe),然后Windows崩溃初始化时出现此错误:

运行时错误

如果我避免std::string在C++代码中使用它会正常执行,甚至包括<string>.有任何想法吗?

注意,第一次测试std::string.

我运行Windows 8/64位.我的编译器包含这个文件build-info.txt:

# **************************************************************************

version : MinGW-W64-builds-4.3.0
user    : nixman
date    : 03.30.2017- 1:01:08 PM
args    : --mode=gcc-6.3.0 --buildroot=/c/mingw630 --jobs=2 --rev=2 --threads=win32 --exceptions=sjlj --arch=i686 --bin-compress

[much more here...]

# **************************************************************************
Run Code Online (Sandbox Code Playgroud)

另请注意,我习惯于禁用和卸载所有可能的防病毒实用程序(例如,Windows Defender).

c++ windows gcc runtime-error windows-8

6
推荐指数
1
解决办法
758
查看次数