相关疑难解决方法(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万
查看次数

MinGW SEH和MinGW SJLJ有什么区别?

我刚刚开始学习C并安装现在的QT x64(在此处形成:http://tver-soft.org/qt64).我有两个安装选项:MinGW 4.9.2 SEHMinGW 4.9.2 SJLJ.
问题:安装哪个更好,为什么?

我读过sjlj vs dwarf vs seh之间有什么区别?https://wiki.qt.io/MinGW-64-bit#Exception_handling:_SJLJ.2C_DWARF.2C_and_SEH但一无所知(C和compiller语言的新手).

c c++ qt mingw

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

我在哪里可以下载Windows的GCC二进制文件?

我想玩GCC 4.5但是在GCC的网站上它说他们不提供二进制文件.我认为从头开始下载源代码并构建GCC有点过分(即使我使用的操作系统(Windows)相当模糊).

我在哪里可以下载GCC 4.5 for Windows?

(我不想要所有的Cygwin,只是GCC)

windows gcc download

22
推荐指数
2
解决办法
2万
查看次数

如何在Windows上构建64位MinGW Qt应用程序(使用Qt Creator)

我正在寻找(并且肯定我不是唯一一个)在Windows上构建基于MinGW的64位Qt程序的最直接方式.直线向前意味着最小的努力和时间(例如,用于建造和设置).目前,我使用MinGW/OpenGL和QtCreator运行qt-project.org网站的常规官方开发环境,适用于Windows 32位.当然我已经阅读了qt-project.org的(未完成的...)64位维基页面,我也阅读了不同的stackoverflow问题,但我仍然感到困惑.我知道如何在其他帖子中处理如何构建64位Qt的主题,但这不是我的问题,我需要的是概述和最有利的64位MinGW端口.

让我感到困惑的一件事是,来自mingwbuilds sourceforge项目的"x64-Qt-5.2.1 + QTCreator-3.0.1-(gcc-4.8.2-seh).7z"包中的DLL似乎是32位.

为了澄清我的问题,我还要问一些相关的问题:

  • 我是否需要首先构建64位开发环境以生成64位可执行文件,还是可以保持正常的默认环境并仅使用64位工具链交换MinGW工具链?
  • 我在哪里可以获得用于部署的64位Qt库,或者我是否还需要自己构建它们?或者我在哪里可以获得包括64位库在内的64位开发环境?
  • 如果我必须自己构建,哪个MinGW 64位端口最有利?

非常感谢你的帮助.

windows 64-bit qt mingw

20
推荐指数
2
解决办法
2万
查看次数

GCC的异常处理模型

GCC支持Setjump-longjump(sjlj)和基于Dwarf2表的展开(dw2)异常处理模型.这两个模型之间有什么区别以及如何选择合适的模型?为什么Dwarf2基于表的展开(dw2)是更有效的模型?据我所知,这两个模型不能混在一起.

参考:技术预览:gcc-4.2.1-sjlj -2

gcc mingw exception

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

为什么不抛出()和noexcept有任何开销?

throw()在C++ 03中作为异常说明符添加,但在C++ 11中对于说明noexcept符已弃用.

在分析了一些代码以找到使用的速度之后throw(),noexcept我发现所有这些函数的函数调用大致相同.

结果:

throw()       noexcept      plain old function
11233 ms      11105 ms      11216 ms
11195 ms      11122 ms      11150 ms
11192 ms      11151 ms      11231 ms
11214 ms      11218 ms      11228 ms

compiled with MinGW using g++ -o test.exe inc.cpp no.cpp -std=c++11 -O3
Run Code Online (Sandbox Code Playgroud)

这是我用来描述的代码:

int main() {
    unsigned long long iter = (unsigned long long)1 << (unsigned long long)40;
    auto t1 = std::chrono::high_resolution_clock::now();

    for(unsigned long long i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c++ performance c++11

9
推荐指数
1
解决办法
712
查看次数

适用于 Windows 10 的 robotsgo - 致命错误:zlib.h:没有这样的文件或目录

如果我想在 Windows 10 下使用 robotsgo 运行任何代码,我会收到以下错误:

# github.com/go-vgo/robotgo
In file included from ./bitmap/../base/str_io_c.h:2:0,
                 from ./bitmap/goBitmap.h:17,
                 from ..\go\src\github.com\go-vgo\robotgo\robotgo.go:45:
./bitmap/../base/zlib_util_c.h:2:18: fatal error: zlib.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

我的路径变量:

https://i.stack.imgur.com/FTXBB.png

遵循安装并检查问题。

https://github.com/go-vgo/robotgo#installation

有人在这里遇到了类似的错误:https ://github.com/go-vgo/robotgo/issues/100

但他们的修复“已解决,应更改 %PATH% 中的 gcc 编译器”对我不起作用。

import (
    "github.com/go-vgo/robotgo"
)

func main() {
    robotgo.ScrollMouse(10, "up")
    robotgo.MouseClick("left", true)
    robotgo.MoveMouseSmooth(100, 200, 1.0, 100.0)
}
Run Code Online (Sandbox Code Playgroud)

go

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

TDM在“TDM-gcc”中代表什么?

我已经在很多网站上搜索过这个,但都失败了。但是TDM在“TDM-gcc”中代表什么?当我想选择 gcc 作为编译器时,我很困惑。那么,有什么区别呢?我应该选择TDM还是NON-TDM?还是 TDM 仅适用于 minGW?在 Windows 平台上?

官方 TDM-gcc 站点甚至不解释它...

gcc tdm-mingw

2
推荐指数
1
解决办法
2726
查看次数

从 Fedora Linux 主机到 Windows 目标交叉编译 Rust 没有找到依赖项

我运行 x86_64 Fedora Linux 31 主机并想编译一些最简单的 Rust 代码:

fn main() {
    println!("Hello, world!");
}
Run Code Online (Sandbox Code Playgroud)

它从主机编译到这个主机本机很好,但是当我尝试将它交叉编译到 i686 或 x86_64 窗口时,它无法编译。

我阅读了stackoverflow(例如here)并在互联网上搜索了类似的问题以及如何解决它,但没有任何收益。

我已经安装了所有必要的目标:

[pfemidi@pfemidi hello_cargo]$ rustup show
Default host: x86_64-unknown-linux-gnu
rustup home:  /home/pfemidi/.rustup

installed targets for active toolchain
--------------------------------------

i686-pc-windows-gnu
i686-unknown-linux-gnu
i686-unknown-linux-musl
x86_64-pc-windows-gnu
x86_64-unknown-linux-gnu
x86_64-unknown-linux-musl

active toolchain
----------------

stable-x86_64-unknown-linux-gnu (default)
rustc 1.39.0 (4560ea788 2019-11-04)

[pfemidi@pfemidi hello_cargo]$
Run Code Online (Sandbox Code Playgroud)

我已经将 mingw32 安装为 mingw64,这个小测试 C++ 代码已经被 mingw32 编译为 mingw64 就好了,没有错误:

#include <iomanip>
#include <iostream>

int main() {
    std::cout << "Hello, world!" << std::endl;
    return …
Run Code Online (Sandbox Code Playgroud)

linux windows cross-compiling rust

2
推荐指数
1
解决办法
1331
查看次数

标签 统计

windows ×4

gcc ×3

mingw ×3

c++ ×2

qt ×2

64-bit ×1

c ×1

c++11 ×1

cross-compiling ×1

download ×1

exception ×1

g++ ×1

go ×1

linux ×1

mingw-w64 ×1

performance ×1

rust ×1

tdm-mingw ×1