相关疑难解决方法(0)

mingw-w64安装程序中选项的含义

在MinGW-W64在线安装程序中,您可以选择几个字段.但是我找不到任何关于此的文件,我所做的猜测并没有给我我想要的行为.

很明显,很多工作已经进入这个项目,所以很可惜因为缺乏基本文档而受到阻碍.

"版本"和"架构"字段是不言自明的,但我遇到的其他字段是(显示为当前安装程序的值):

  • 线程,选项posixwin32
  • 例外,选项dwarfsjlj
  • 建立修订,期权0,1,2.

我在之前的安装中选择的值是win32,seh并且1(从那时起显然选项已经改变,但我不知道什么是什么).

每个选项的优缺点是什么,特别是线程模型和异常处理,以及哪个版本"最佳"?

我遇到的具体问题x86_64-win32-seh-rev1是:

  • std::thread并且std::condition_variable不受支持
  • 在调试时(使用Code :: Blocks作为IDE),如果抛出异常,它不会跳转到异常处理程序; 选择Next Line不做3次然后中止运行.

我可以解决调试问题但是使用C++ 11线程真的很棒.

windows g++ mingw-w64

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

我使用的是c ++ 14或者是我的代码,使用结构,无效?

我正在重温C++并且一直在关注一个没有实际问题的教程.但是,我有一个关于结构的部分,它说在c ++ 14中你可以使用非静态初始化unifrom初始化.按照:-

但是,在C++ 14中,这个限制被解除了,两者都可以使用.如果两者都提供,则初始化列表/统一初始化语法优先.在上面的例子中,Triangle x将被初始化为长度和宽度2.0.

我的代码是: -

struct Triangle
{
    double length = 1.23; // non-static member initialization
    double width = 2.45;
};

int Triangular()
{
Triangle x{ 2.0, 2.0 }; // uniform initialization

return 0;
}

...... 
int main() ......
Run Code Online (Sandbox Code Playgroud)

但是,我无法编译(我在Windows 7上使用Code :: Blocks).如果我删除非静态初始化并使用(即删除= 1.23= 2.45),那么它确实编译: -

struct Triangle
{
    double length; // non-static member initialization
    double width;
};

int Triangular()
{
Triangle x{ …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors c++11 c++14

11
推荐指数
1
解决办法
416
查看次数

标签 统计

c++ ×1

c++11 ×1

c++14 ×1

compiler-errors ×1

g++ ×1

mingw-w64 ×1

windows ×1