javascript

java

python

c#

node.js

reactjs

android

php

c++

ruby-on-rails

html

jquery

git

css

ios

sql

.net

c

<img src="//i.stack.imgur.com/bk9VA.png" alt="" class="sponsor-tag-img" width="18" height="16"/>android

string

windows - mingw-w64主题:posix vs win32

我在Windows上安装mingw-w64,有两个选项:win32线程和posix线程。 我知道win32线程和pthreads之间的区别是什么,但我不明白这两个选项之间的区别。 我怀疑如果我选择posix线程,它将阻止我调用WinTI函数,如CreateThread。

看来这个选项指定某些程序或库将使用哪个线程API,但是通过什么? 通过GCC,libstdc ++还是别的什么?

我找到了这个:什么是windows的gcc端口中的thread_posixs和thread_win32之间的区别?

简而言之,对于这个版本的mingw,threads-posix版本将使用posix API并允许使用std :: thread,而threads-win32将使用win32 API,并禁用std :: thread部分 标准。

好的,如果我将选择win32线程,那么std :: thread将不可用,但仍将使用win32线程。 但用什么?

trans by 2019-08-21T02:26:50Z

无法复制/粘贴mingw sh

我刚在Windows上安装了MinGW,而且我不能像以前那样在Linux甚至PuTTY上复制/粘贴。 复制和粘贴文本(例如从chrome)到MinGW shell的技巧是什么?

trans by 2019-08-13T22:55:14Z

使用cython和mingw进行编译会产生gcc:错误:无法识别的命令行选项'-mno-cygwin'

我尝试使用mingw(64位)在win 7 64位中使用cython编译python扩展。
我正在使用Python 2.6(Active Python 2.6.6)和足够的distutils.cfg文件(将mingw设置为编译器)

执行时

> C:\Python26\programas\Cython>python setup.py build_ext --inplace

我得到一个错误,说gcc没有-mno-cygwin选项:

> C:\Python26\programas\Cython>python setup.py build_ext --inplace
running build_ext
skipping 'hello2.c' Cython extension (up-to-date)
building 'hello2' extension
C:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python26\include -IC:\Python26\PC -c hello2.c -o build\temp.win-amd64-2.6\Release\hello2.o
gcc: error: unrecognized command line option '-mno-cygwin'
error: command 'gcc' failed with exit status 1

gcc是:

C:\>gcc --version
gcc (GCC) 4.7.0 20110430 (experimental)
Copyright (C) 2011 Free Software Foundation, Inc.

我该怎么办呢?

trans by 2019-07-04T06:42:08Z

c ++ - 如何重定向qDebug,qWarning,qCritical等输出?

我正在使用很多qDebug() <<语句进行调试输出。 有没有任何跨平台的方法我可以将调试输出重定向到文件,而不需要求助于shell脚本? 我猜测open()和dup2()将在Linux中完成这项工作,但它是否可以在Windows中使用MinGW编译?

也许有Qt方法可以做到这一点?

trans by 2019-06-11T23:05:41Z

c ++ - sjlj vs dwarf vs seh有什么区别?

我找不到足够的信息来决定我应该使用哪个编译器来编译我的项目。 模拟一个过程的不同计算机上有几个程序。 在Linux上,我正在使用GCC。 一切都很棒。 我可以优化代码,它可以快速编译并使用不那么多的内存。

我用MSVC和GCC编译器做自己的基准测试。 后来一个产生稍快的二进制文件(对于每个子体系结构)。 虽然编译时间远远超过MSVC。

所以我决定使用MinGW。 但是在MinGW中找不到有关异常处理方法及其实现的任何解释。 我可以为不同的操作系统和体系结构使用不同的发行版。

注意事项:

  • 编译时间和内存对我的使用并不重要。 唯一重要的是运行时优化。 我需要我的程序足够快。 慢编译器是可以接受的。
  • 操作系统:Microsoft Windows XP / 7/8 / Linux
  • 架构:英特尔酷睿i7 / Core2 /以及运行XP:P的非常老的i686
trans by 2019-06-08T14:19:43Z

如何为从Linux到Windows目标的交叉编译配置Qt?

我想使用Linux x86_64主机交叉编译用于Windows x86_64目标的Qt库(最终是我的应用程序)。 我觉得我很亲密,但我可能对这个过程的某些部分有一个根本的误解。

我首先在我的Fedora机器上安装所有mingw软件包,然后修改win32-g++ qmake.conf文件以适合我的环境。 但是,我似乎陷入了Qt的一些看似明显的配置选项:-xplatform-platform. Qt文档说-platform应该是主机架构(你正在编译的地方)和-xplatform应该是你希望的目标平台 部署。 在我的例子中,我设置了-platform linux-g++-64-xplatform linux-win32-g++,其中linux-win32-g ++是我修改过的win32-g ++配置。

我的问题是,在使用这些选项执行configure后,我看到它调用我的系统编译器而不是交叉编译器(x86_64-w64-mingw32-gcc)。 如果我省略了-xplatform选项并将-platform设置为我的目标规范(linux-win32-g ++),它会调用交叉编译器,但在找到某些与Unix相关的函数时没有定义错误。

以下是我最近尝试的一些输出:[http://pastebin.com/QCpKSNev。]

问题:

  1. 当从Linux主机交叉编译Qt for Windows之类的东西时,是否应该调用本机编译器? 也就是说,在交叉编译过程中,我们不应该只使用交叉编译器吗? 当我指定-xplatform选项时,我不明白为什么Qt的configure脚本会尝试调用我的系统的本机编译器。

  2. 如果我使用的是mingw交叉编译器,何时需要处理specs文件? GCC的规范文件对我来说仍然是一个谜,所以我想知道这里的一些背景是否对我有帮助。

  3. 一般来说,除了在我的qmake.conf中指定交叉编译器之外,我还需要考虑什么?

trans by 2019-05-12T12:32:04Z

c ++ - 由于缺少libgcc_s_dw2-1.dll,程序无法启动

我使用Code :: Blocks在C ++中创建了一个简单的程序。

如果我从Code :: Blocks运行它,它可以正常工作; 但如果我通过双击可执行文件来运行它,会弹出一个窗口,显示以下消息:

程序无法启动,因为您的计算机缺少libgcc_s_dw2-1.dll。
尝试重新安装该程序以解决此问题。

那么,问题是什么? 我该怎么做才能修复它?

trans by 2019-05-05T04:30:59Z

windows - 如何在mingw-gcc编译的可执行文件中添加图标?

在Windows中,使用mingw的gcc,无论如何都要指定输出exe文件是采用图标文件,以便exe文件在资源管理器中显示该图标?

trans by 2019-04-23T04:12:40Z

c ++ - to_string不是std的成员,g ++(mingw)说

我正在制作一个小词汇记忆程序,其中的单词将随机闪现在我的意思中。 我想使用标准的C ++库,就像Bjarne Stroustroup告诉我们的那样,但我遇到了一个看似奇怪的问题。

我想将long整数更改为-std=c++0x,以便能够将其存储在文件中。 我已经雇用了to_string()。 问题是,当我使用g ++(版本4.7.0,如其--version标志中所述)编译它时,它说:

PS C:\Users\Anurag\SkyDrive\College\Programs> g++ -std=c++0x ttd.cpp
ttd.cpp: In function 'int main()':
ttd.cpp:11:2: error: 'to_string' is not a member of 'std'

我的程序给出了这个错误:

#include <string>

int main()
{
    std::to_string(0);
    return 0;
}

但是,我知道它不可能是因为msdn库清楚地说它存在,而早期的Stack Overflow问题(对于g ++版本4.5)说它可以用-std=c++0x标志打开。 我究竟做错了什么?

trans by 2019-02-25T01:24:20Z

windows - Cygwin和MinGW有什么区别?

我想让我的C ++项目跨平台,我正在考虑使用Cygwin / MinGW。但它们之间有什么区别?

另一个问题是我是否能够在没有Cygwin / MinGW的系统上运行二进制文件?

trans by 2019-01-17T09:54:23Z

1 共1页