MinGW-GCC没有libstd ++但有例外

时间:2013-10-15 19:14:31

标签: c++ exception mingw libstdc++

(我通常使用C而不是C ++,所以请原谅这个问题:)

我正在尝试使用没有libstdc ++(称为独立式)的MinGW-GCC C ++ 11,以避免属于其GPL。

我有一些麻烦让它工作,但这几乎做我想要的:

g++ main.cpp -o main.exe -s -Os -lkernel32 -luser32 
  -std=c++11 -Wall -Werror 
  -Wl,-e_Main -mwindows
  -nostdlib -ffreestanding -fno-rtti -fno-exceptions

现在最后一个问题是,我想要例外,所以如果我再次删除-fno-exceptions我会

main.cpp:(.text+0x265): undefined reference to `_Unwind_Resume'
main.cpp:(.eh_frame+0xcb): undefined reference to `__gxx_personality_v0'
bad reloc address 0xcb in section `.eh_frame'

我发现需要这些辅助函数来展开堆栈并调用该路径上的析构函数。 (我觉得有点疯狂,这些被认为是标准库的一部分。如果没有它们,gcc就无法提供核心语言,它们应该是固有的。)

我看过例如STLport和Apache stdcxx但是C ++ 11都不是,我也只需要例外!

有没有办法提供必要的辅助功​​能,以便异常有效?

0 个答案:

没有答案