Questions tagged «mingw»

MinGW(Windows的极简主义GNU)是GNU编译器集合(GCC)和GNU Binutils的本机软件端口,用于开发本机Microsoft Windows应用程序。与Cygwin不同,它在MS-Windows上不提供POSIX运行时环境。

16
Cygwin和MinGW有什么区别?
我想使我的C ++项目跨平台,并且正在考虑使用Cygwin / MinGW。但是它们之间有什么区别? 另一个问题是,是否可以在没有Cygwin / MinGW的系统上运行二进制文件?
656 windows  cygwin  mingw 

12
g ++(mingw)表示to_string不是std的成员
我正在制作一个小的词汇记忆程序,其中的单词会随机向我闪烁以获取含义。我想使用Bjarne Stroustroup告诉我们的标准C ++库,但是我遇到了一个看似陌生的问题。 我想将一个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' 我的程序出现此错误是: #include <string> int main() { std::to_string(0); return 0; } 但是,我知道这不可能,因为msdn库清楚地表明了它的存在,并且关于Stack Overflow(对于g ++版本4.5)的一个较早的问题说,可以使用该-std=c++0x标志将其打开。我究竟做错了什么?
245 c++  c++11  g++  mingw  tostring 

16
该程序无法启动,因为缺少libgcc_s_dw2-1.dll
我已经用Code :: Blocks在C ++中创建了一个简单的程序。 如果我从Code :: Blocks运行它,它将正常工作;但是如果我通过双击可执行文件来运行它,则会弹出一个窗口,显示以下消息: 该程序无法启动,因为您的计算机缺少libgcc_s_dw2-1.dll。 尝试重新安装该程序以解决此问题。 那么,有什么问题呢?我该怎么做才能解决?
166 c++  windows  mingw 

2
sjlj vs dwarf vs seh有什么区别?
我找不到足够的信息来确定应该使用哪个编译器来编译我的项目。在不同的计算机上有多个程序可以模拟一个过程。在Linux上,我正在使用GCC。一切都很棒。我可以优化代码,它可以快速编译并使用不太多的内存。 我使用MSVC和GCC编译器做自己的基准测试。稍后的版本会生成稍快的二进制文件(针对每个子体系结构)。尽管编译时间比MSVC多得多。 因此,我决定使用MinGW。但是找不到有关MinGW中异常处理方法及其实现的任何解释。我可以对不同的操作系统和体系结构使用不同的发行版。 注意事项: 编译时间和内存对于我的用法并不重要。唯一重要的是运行时优化。我需要我的程序足够快。慢速编译器是可以接受的。 操作系统:Microsoft Windows XP / 7/8 / Linux 架构:Intel Core i7 / Core2 /和运行XP的非常老的i686:P

3
mingw-w64线程:posix vs win32
我正在Windows上安装mingw-w64,有两个选项:win32线程和posix线程。我知道win32线程和pthread之间有什么区别,但是我不明白这两个选项之间有什么区别。我怀疑如果我选择posix线程是否会阻止我调用WinAPI函数(如CreateThread)。 看来,此选项指定某个程序或库将使用哪个线程API,但又由什么使用?是通过GCC,libstdc ++还是其他? 我发现了这一点: Windows的gcc端口中的thread_posixs和thread_win32有什么区别? 简而言之,对于此版本的mingw,thread-posix版本将使用posix API并允许使用std :: thread,而threads-win32将使用win32 API,并禁用std :: thread部分。标准。 好的,如果我选择win32线程,则std :: thread将不可用,但仍将使用win32线程。但是用什么呢?
127 windows  gcc  pthreads  mingw 

4
使用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' …

8
CMAKE中特定于操作系统的说明:如何?
我是CMAKE的初学者。下面是一个简单的cmake文件,在mingw环境窗口中效果很好。问题显然与target_link_libraries()我链接libwsock32.a的CMAKE函数有关。在Windows中,这行得通,我得到结果。 但是,正如预期的那样,在Linux中,/usr/bin/ld将查找-lwsock32Linux OS上没有的遗嘱。 我的问题是:如何指示CMAKE避免在Linux OS中链接wsock32库??? 任何帮助将不胜感激。 我的简单CMake文件: PROJECT(biourl) set (${PROJECT_NAME}_headers ./BioSocketAddress.h ./BioSocketBase.h ./BioSocketBuffer.h ./BioSocketCommon.h ./BioSocketListener.h ./BioSocketPrivate.h ./BioSocketStream.h ./BioUrl.h BioDatabase.h ) set (${PROJECT_NAME}_sources BioSocketAddress.C BioSocketBase.C BioSocketCommon.C BioSocketStream.C BioUrl.C BioDatabase.C ) add_library(${PROJECT_NAME} STATIC ${${PROJECT_NAME}_headers} ${${PROJECT_NAME}_sources} ) # linkers #find_library(ws NAMES wsock32 PATHS ${PROJECT_SOURCE_DIR} NO_SYSTEM_ENVIRONMENT_PATH NO_DEFAULT_PATH) target_link_libraries(${PROJECT_NAME} bioutils wsock32) install (TARGETS ${PROJECT_NAME} RUNTIME …
109 c++  linux  cmake  mingw  portability 



2
如何安装MinGW-w64和MSYS2?
我正在尝试建立一些开源库。我需要软件包管理系统来轻松下载依赖项。首先我正在使用MinGW+MSYS。但是包含的软件包是有限的。有人叫我用MinGW-w64 + MSYS2。 我mingw-w64-install从这里下载了。运行时,它将报告以下错误。如何解决? 顺便说一句,在MinGW-w64下载页面上,我看到了很多下载链接。甚至Cygwin也被列出。如何Cygwin和MinGW-w64有关系吗? 我目前的理解是,在的时候MinGW+MSYS,MSYS只是MinGW的一个不错的插件,而在的MinGW-w64 + MSYS2MSYS2是独立的,而MinGW-w64只是它可以使用的一组库。就像Cygwin可以下载许多不同的软件包一样。

6
如何重定向qDebug,qWarning,qCritical等输出?
我在qDebug() <<调试输出中使用了很多语句。有什么跨平台的方法可以将调试输出重定向到文件,而无需使用Shell脚本?我猜想open()和dup2()将在Linux中完成这项工作,但可以在Windows中与MinGW一起编译吗? 也许有Qt方法可以做到?
84 c++  debugging  qt  mingw  qdebug 

5
如何配置Qt以便从Linux到Windows目标进行交叉编译?
我想使用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。 问题: 从Linux主机交叉编译Windows版Qt之类的东西时,是否应调用本机编译器?也就是说,在交叉编译过程中,我们不应该仅使用交叉编译器吗?指定-xplatform选项时,我看不到为什么Qt的configure脚本试图调用系统的本机编译器。 如果我使用的是mingw交叉编译器,什么时候需要处理specs文件?GCC的规范文件对我来说还是一个谜,所以我想知道这里的背景知识是否对我有帮助。 通常,除了在我的qmake.conf中指定交叉编译器之外,我还需要考虑什么?


16
找不到CMAKE_MAKE_PROGRAM
我已经通过CMake达到了尽头。它具有巨大的潜力,但是我似乎无法使其找到运行所需的基本系统工具(即make)。 症状 CMake和CMake GUI生成以下内容(删除CMakeCache.txt文件之后): Processing top-level CMakelists.txt for project swb CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 我专注于寻找make这个问题,但是,由于CMake无法找到库和其他实用程序文件(链接器,nm,ar等),我也遇到了许多相同的问题。我下面列出的技术似乎使CMake在Linux下运行时可以找到这些文件。 系统 Windows 7(64位);MinGW的多个版本(32位/ 64位);Cmake 2.8.4; MinGW的NONSTANDARD安装位置(c:/ MinGW-32)。 我尝试过的东西 CMakelists.txt包含SET( CMAKE_MAKE_PROGRAM c:/MinGW-32/bin/make.exe FORCE …
72 makefile  cmake  mingw 

5
如何通过修改命令行中给出的路径名来停止MinGW和MSYS
在Windows上,我正在使用CodeSourcery的交叉编译器套件为ARM / Linux交叉编译程序。我使用MinGW MSYS作为我的命令解释器,通常它会破坏我的路径和路径名。例如,要构建程序,我调用 arm-none-linux-gnueabi-gcc.exe -Wall -g \ -Wl,--dynamic-linker=/usr/lib/myrpath/ld-linux.so.3 \ -Wl,-rpath=/usr/lib/myrpath \ -I../targetsysroot/usr/include \ myprogram.c -o myprogram 当然,我想/usr/lib/myrpath将逐字记录插入myprogram可执行文件中-我要编译的ARM Linux目标不使用MinGW或MSYS。但是,最终结果如下: ... 0x0000000f (RPATH) Library rpath: [C:/MinGW/msys/1.0/lib/myrpath] ... 不完全是我想要的。如果直接在cmd.exe命令行上调用GCC,则会在可执行文件中获得正确的rpath。如果我在MSYS命令行上调用GCC,则会得到混乱的rpath。如果我使用从cmd.exe命令行使用make运行的Makefile调用GCC,我仍然会得到错误的rpath(!) 有什么想法可以关闭这种令人讨厌的行为吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.