问题标签 [mingw-w64]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linker - 在 mingw64 (mingw-builds) 下与 GetACP 链接错误
我试图使用mingw64(来自 http://sourceforge.net/projects/mingwbuilds/files/host-windows/x64 )构建 gdal -1.10.0( http://trac.osgeo.org/gdal/wiki/DownloadSource ) -4.8.0-release-posix-seh-rev2.7z)。我在标准MinGW(32位)版本下编译gdal-1.10.0没有问题。
我必须切换到 mingw64 的原因是标准的 32 位 MinGW 发行版不支持 c++11 等功能std::thread
,以及(我怀疑)其他功能。但我最后得到一个链接错误告诉我一些关于
(或者如果我使用来自 mingw64/mingw-builds 的 32 位变体,则使用不同的修饰名称)。顺便说一句,我尝试了不同版本的 mingw64,包括 64 位、32 位、seh、sjlj,但都给出了关于GetACP()
.
我做了一些功课,发现了一些类似编译任务的说明: http ://www.gaia-gis.it/spatialite-3.0.0-BETA/mingw64_how_to.html#env 根据上面的网站,似乎他们建议问题与 WOW64 有关,并且无法使用正确版本的 windows dll 文件,因为 windows 会根据发出调用的 32 位或 64 位应用程序自动为您确定它。这应该是 mingw64 的一个问题,因为编译器 gcc 是 64 位的,但 msys 是无可救药的 32 位。
但是由于我也尝试了 32 位版本,所以上面似乎并不能解释错误。更重要的是,我试图以一种肮脏的方式注释掉对 的所有调用GetACP()
,因为我并不真正关心代码页以及所有这些出于我的目的。奇怪的是,编译是可以的(在一个新的源代码上,只是GetACP()
注释掉了 '),但仍然报告了相同的链接错误。我检查了libkernel32.a
,libiconv.a
在lib
文件夹中,并按照上面博客中的说明从
c:\windows\system32
并将它们放置在具有适当重命名的 mingw 子文件夹中。链接错误仍然存在。这就是我在花了将近两天没有成功之后停止黑客攻击的地方。我不明白为什么整个源代码不包含对该函数的单个调用,而且我仍然收到链接错误。
谁能解释在 gdal 和 mingw64 之间可能导致此问题的原因,以及如何解决?
另外,关于 mingw64 的一个普遍问题是它真的能够支持 posix 函数吗?我看到包名称,例如 x64-4.8.0-release-posix-seh-rev2.7z,但我记得 MinGW 的人说他们永远不会支持完整的 posix。
PS 我正在 Windows Server 2008 R2,64 位上测试这个。
更新:在 MinGW64 (mingw-builds) 下构建 gdal-1.10.0 的完整步骤是:
然后,编辑GDALmake.opt,找到GDAL_ROOT,将cygwin驱动格式替换为dos/mingw格式,例如更改:
到
代替
和
最后,
windows - 使用 mingw64 编译 BUTT 无法在赋值中将 'char*' 转换为 'LPWSTR {aka wchar_t*}'
我正在尝试使用 MingwW64 在 Windows 上编译 BUTT ( http://butt.sourceforge.net/ )。我似乎遇到error: cannot convert 'char*' to 'LPCWSTR {aka const wchar_t*}'
最多类型的错误。是否有一些简单的选项可以启用我缺少的 unicode?您可以在我的粘贴顶部看到传递给 g++ 的选项。
这是包含一些错误的第一个函数:
c++ - 在 Windows 8 64 位中设置 MingW 和 Code::Blocks
我正在尝试在我的Windows 8 64 位笔记本电脑上设置MingW和Code::Blocks,并且在构建文件时遇到了一些问题。这些是我安装的版本:main.cpp
- x86_64-w64-mingw32-gcc-4.7.4-release-win64_rubenvb.7z用于MingW(该列表中的第 4 个),以及
- 用于Code::Blocks的 codeblocks-12.11-setup.exe。
我已经mingw64\bin
在环境变量中设置了路径。此外,在 Code::Blocks 编译器设置中,我为所有ToolChain Executables设置了路径。MingW bin 路径中有两个gcc 。一个是 -另一个是 - 。C++ 编译器、静态和动态库的链接器相同。现在,当我尝试构建一个简单的Hello World文件时,它会显示一些错误:gcc.exe
x86_64-w64-mingw32-gcc.exe
fwprintf
同样, - 、wprintf
、std:cout
等也有许多错误和未定义的引用。
我确定存在一些配置问题,但我无法找出问题所在。任何人都可以看看这个问题。
这是我正在运行的代码:
qt - 我将如何强制 qt 使用某个版本的 mingw?
我是 Qt 和 mingw 的新手,想知道如何配置 qt SDK(我使用的是诺基亚网站版本 1.2.1 中的一个)以使用特定版本的 mingw(确切地说是 4.6.3 64 位) )。
我需要替换 qtSDK 安装中的某些 mingw 文件吗?或者 Qt creator 中是否有配置菜单可以以某种方式进行设置?
我是否必须单独安装 mingw 并以某种方式链接两者?我对这件事完全一无所知,所以请不要假设。
numpy - 在 Windows 上使用 f2py 构建 64 位 Python 扩展
我正在尝试使用 Numpy 的f2py.py
脚本从 Fortran 源代码构建 Python 扩展。我正在按照http://www.scipy.org/F2PY_Windows(网络存档)中的步骤进行操作。我的系统是 Windows 7 64 位,我主要使用 Python 2.7.3 [MSC v.1500 64 位 (AMD64)]。我有 Numpy-MKL 1.7.1,来自http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
这是我尝试过的:
- 选择 Fortran 编译器。由于我使用的是 64 位 Python,因此需要 64 位 Fortran 编译器。从MinGW-w64,我尝试了一些个人构建。
- 打开一个新的
cmd.exe
shell,并编辑我提取 GCC 编译器的路径,即:set PATH=%PATH%;c:\gnu\mingw64\bin
set C_INCLUDE_PATH=C:\gnu\mingw64\include
使用以下命令尝试
f2py.py
构建:C:\Python27\python.exe C:\Python27\Scripts\f2py.py -c --fcompiler=gnu95 --compiler=mingw32 -lmsvcr90 -m foo foo.f90
输出为(去除 处的噪声线<--snip-->
):
请注意,第一次运行时,会生成三个新文件C:\Python27\libs
:
libmsvcr90.a
libpython27.a
python27.def
我需要安装其他东西吗?我需要提供其他选项f2py
吗?更一般地说,是否可以从 GNU 编译器为 MSVC 构建 Python 构建扩展?
c++ - 带有 Netbeans 的 Mingw-64(无法正确启动 0xc000007cb)
我按照这个SO 链接使用 Netbeans 安装 mingw-64,当我运行应用程序时,我总是收到以下错误。会有什么问题?
c++ - Qt 5.0.2 + Mingw-builds (4.8.1) webkit 链接错误
我正在尝试使用 Mingw-builds (4.8.1) 构建 Qt 5.0.2,但是在 webkit 构建期间我有链接错误:
那么,有谁知道我该如何解决这个错误,是否可以在 Windows 上使用 MinGW 构建 Qt 5.0.2?
PS我的配置命令:
c++ - 我需要制作一个opencv 64 exe(错误无法加载程序入口点)
如何使用 mingw-w64 和使用 Netbeans IDE 的 opencv 64 位 dll 构建 64 位应用程序。我成功安装了“mingw w64”并成功生成了一个64位的简单c++ exe。
我尝试通过将相应的 64 位 dll 包含到 PATH 和 NetBeans 文件夹中来创建一个简单的 opencv 64 位应用程序,但我总是收到如下错误。
build - 如何在 Windows 上构建 MinGW x64
这里有一个这样的问题: How to build MinGW W64
但是,没有答案。
我通过阅读 mingw-w64-howto-build.txt 完成了我的作业,但它根本写得不好。
以下是该文件的一部分:
== 安装 Mingw-w64 标头集并创建所需的符号链接 == [HDRSYM]
步骤 1) 标头的源目录可以是 mingw-w64/trunk/mingw-w64-headers 或 mingw-w64/mingw-w64-headers,具体取决于您的源。
步骤 2) 创建另一个“build”目录,然后输入它。要安装头文件,请运行: ../path/to/configure --build= \ --host=x86_64-w64-mingw32 --prefix=/mypath 然后运行“make install”安装头文件。
什么是“前缀”?我应该在这里输入什么路径?
步骤 3) GCC 要求将 x86_64-w64-mingw32 目录镜像为同一根目录中的目录“mingw”。因此,如果使用配置默认 /usr/local,请输入:ln -s /usr/local/x86_64-w64-mingw32 /usr/local/mingw 或者,对于 sysroot,请输入:ln -s /mypath/x86_64-w64-mingw32 /mypath/mingw
我怎么知道我是否使用默认值?如果我的系统上存在这个“/usr/local/mingw”,它应该在哪里?“我的路径”到底是什么?什么路径?我在 C:\MinGW 中安装了 MinGW(应该用于构建这个 x64 的那个)。这与这个符号链接有什么关系吗?
步骤 4)手动创建 x86_64-w64-mingw32/lib 目录:mkdir -p /usr/local/x86_64-w64-mingw32/lib 或者,对于 sysroot:mkdir -p /mypath/x86_64-w64-mingw32/lib 如果它已经存在并且你得到一个错误,忽略它。
对于系统根?这是什么意思?
步骤 5) 符号链接 x86_64-w64-mingw32/lib 目录为 x86_64-w64-mingw32/lib64: ln -s /usr/local/x86_64-w64-mingw32/lib /usr/local/x86_64-w64-mingw32/lib64 或,对于 sysroot:ln -s /mypath/x86_64-w64-mingw32/lib /mypath/x86_64-w64-mingw32/lib64
对于系统根?这是什么意思?#2
我自己尝试了一些东西,但结果是这样的:
配置:错误:请检查 mingw-w64 标头设置和构建/主机选项是否设置正确。配置:错误:../../mingw-w64-crt/mingw-w64-crt 配置失败
c++11 - MinGW64 无法编译 32 位代码
我已经从这个链接x64-4.8.1-posix-sjlj-rev1下载了 MinGW,但是当我尝试为 x86 目标构建时,我有很多链接错误......似乎只安装了 x64 库......
我需要在 Windows 上为 x86 和 x64 平台构建...我要同时下载 x64 和 x86 还是一些更简单的方法?
编辑我正在使用 eclipse keplero 作为 IDE 我试图用g++ -m32 -std=c++11 test.cpp -o test32.exe
and构建自己的一个简单的 hello world 程序g++ -m64 -std=c++11 test.cpp -o test64.exe
。一切都很好......所以问题出在eclipse上......在发现我需要使用MYSY(在PATH中设置)并在c ++链接选项中设置-m32......
现在一切都很好。
我还尝试将 NetBeans C++ 用作 IDE……似乎是一个很棒的 IDE!