标签: mingw

Cygwin和MinGW有什么区别?

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

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

windows cygwin mingw

624
推荐指数
15
解决办法
31万
查看次数

g_s(mingw)说to_string不是std的成员

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

我想将long整数更改std::string为能够将其存储在文件中.我也受雇于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'
Run Code Online (Sandbox Code Playgroud)

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

#include <string>

int main()
{
    std::to_string(0);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

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

c++ mingw g++ tostring c++11

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

程序无法启动,因为缺少libgcc_s_dw2-1.dll

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

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

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

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

c++ windows mingw

157
推荐指数
8
解决办法
27万
查看次数

sjlj vs dwarf vs seh有什么区别?

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

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

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

注意事项:

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

c++ compiler-construction mingw cpu-architecture mingw-w64

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

使用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
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,说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
Run Code Online (Sandbox Code Playgroud)

gcc是:

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

我该怎么办呢?

python distutils mingw cython

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

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线程.但用什么?

windows gcc mingw pthreads

103
推荐指数
3
解决办法
9万
查看次数

无法复制/粘贴mingw shell

我刚刚在Windows上安装了MinGW,我无法复制/粘贴,因为我习惯在Linux甚至是PuTTY上.复制和粘贴文本(例如从chrome)到MinGW shell的技巧是什么?

mingw copy-paste

96
推荐指数
5
解决办法
3万
查看次数

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

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

windows icons gcc mingw

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

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

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

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

我的问题是,在使用这些选项执行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中指定交叉编译器之外,我还需要考虑什么?

linux qt mingw cross-compiling

78
推荐指数
3
解决办法
7万
查看次数

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

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

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

c++ debugging qt mingw qdebug

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