问题标签 [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.
c - Excel 64bit C 插件编译问题
这是一些 C 代码,我想将其转换为 Excel 2010 64 位的 Excel .XLL 插件。问题不是 Excel 2010 是否可以运行 32 位插件,代码必须是 64 位,因为我需要从此插件启动 64 位 JVM。
当我使用 Visual Studio 2012 编译它时,它可以工作。当我用 mingw64 编译这个完全相同的代码时,它编译但 Excel 崩溃(XLCALL32 是 Excel 2010 SDK 的 64 位版本)。
c:\mingw\mingw64_rubenvb\bin\x86_64-w64-mingw32-gcc.exe -m64 -shared -o test.xll test.c -L . -lXLCALL32
经过漫长而令人沮丧的努力,我发现问题出在Excel4调用上。
如果我用Excel12(来自上述 SDK 附带的 XLCALL.CPP 文件)替换该调用并显然使用 XLOPER12 和 XCHAR,那么一切正常!
有没有人知道为什么会这样?
这是代码:
c++ - libtool: undefined symbols not allowed in i686-pc-mingw32 shared
I'm using autotools as build system for a library of mine. Recently library is ported to Windows. Library compiles and links successfully though I encountered a strange error. There is only static libraries after configure and make. Evertything looks OK except a warning from libtool
:
I have exported all symbols for Windows machines by this code:
And in every single definition I have:
Notes:
Operating System: Windows 8 x86_64
Compiler suite: MinGW x86_64, MSYS x86
c++ - 编译一个非常大的 .cpp 文件
类似的问题,没有真正的答案适用于我的案例:点击
我在问这里之前研究过的问题 -点击
我正在MinGW64
尝试编译一个非常大的.cpp
文件(>13k
行),但我也可以访问 Visual Studio 2010 - 如果有人有使用它的解决方案,请随时告诉我。
我在组装阶段发现了一个错误 -
正如我的两位同事所建议的那样,我目前正在使用 , 运行编译 - 编译现在运行了 5 个多小时-Os
。--param ggc-min-expand=0
--param ggc-min-heapsize=4096
更新:
正如一些人所建议的,我将文件拆分为 2 个源文件并为它们创建一个标题 - 谢谢。
第二次更新:
编译尚未完成(5 天!!!),即使在创建标题并将文件拆分为 4 个较小的文件之后也是如此。
最终的
这个问题仍然没有解决 - 即使在遵循每个发布者的建议后,我仍然无法编译这个。
compiler-errors - 编译简单项目时出错
我正在尝试使用 wxWidgets 64 位(2.8.12)在 CodeBlocks(12.11)中编译一个项目,但出现以下错误:
我该如何解决这个麻烦?
PS:wxWidgets 库编译正确,CodeBlocks 识别它。
编辑
我的项目中有以下文件:
pastebin.com/iDDbpUQ5 -> amdwxMain.h
pastebin.com/jk47hHVY -> amdwxMain.cpp
pastebin.com/KP9e5AzB -> amdwxApp.h
pastebin.com/x57pBLHZ -> amdwxApp.cpp
我在 pastebin 服务器上发帖是因为文件太多。
python - 如何将工具添加到python
我在Win7中安装了python。我需要将 python-msp430-tools 0.6 添加到我的 python 中。因此,我从https://pypi.python.org/pypi/python-msp430-tools下载了 python-msp430-tools 0.6 。但有个问题?如何将此工具添加到我的 python。
(顺便说一句,我为 mingw 下载了 msp-gcc 并修复了 PATH。)
我将不胜感激。
最好的祝福。
wxwidgets - 如何为 Windows 和 CodeLite 设置 wxWidgets?
我正在尝试新的设置。我使用的是 32 位 Windows 8 Pro 笔记本电脑。我已经下载了 MinGW-builds 的 GCC 4.8.1。我用它来编译 LLVM 和 CLang(来自主干的 SVN 副本的 3.4+)。这两个都在我的路径中。
我已经下载了 CodeLite 5.2,它附带 MinGW/GCC 4.7.1 的副本。我得到了纯控制台教程示例,但我无法让 wxWidgets 示例正常工作。(这是快速入门。)我下载并安装了 wxWidgets。(总是一个很好的第一步。)我用 MinGW-4.8.1 构建了它。我已经阅读了错误说明并添加了两个(第一个是本地的,现在是系统的)环境变量:WXWIN
在“C:\wxWidgets-2.9.5”和WXCFG
“..\build\msw\gcc_mswud”。(我最初认为WXCFG
这是一个绝对路径,但它基于“ %WXWIN%\lib\
”。)我将 MinGW 和 LLVM 构建从“C:\Program Files”移到“C:\”,以避免在它们的路径中有空格。
这是我使用 F7 构建时的(仍然)错误输出:
在某些时候,编译器步骤发出错误消息,下一步将其解释为实际参数!(应该在 stderr 而不是 stdout 上发送错误?)
更新
在继续我的实际工作后,我遇到了错误,并注意到 CodeLite 仍在使用 CodeLite 下载附带的 MinGW 4.7.1,而不是使用我下载的 4.8.1。我可能通过将搜索目录更改为我的 4.8.1 来搞砸了。我想我会抹去一切,重新开始......
gcc - 获取当前 GCC 异常模型
g++
是使用DWARF2
,sjlj
或seh
异常模型构建的。 MinGW-builds提供了g++
具有不同异常模型的各种构建。我希望能够从gcc
工具链中确定正在使用什么异常模型。是否有一个g++
参数会转储编译器的默认异常模型?
c++ - 在 mingw64 上使用 boost.thread 对 InterlockedCompareExchange 的未定义引用(但不在 mingw32 上)
我在一台 Fedora 19 x86_64 计算机上,安装了 mingw64 和所有相关软件包。我正在做一个个人 c++ 项目,我决定让它成为线程安全的,所以我决定尝试一下 Boost.thread 同步对象。一旦我这样做了,我就开始收到与 InterlockedCompareExchange 相关的链接器错误。以下测试程序说明了我的观点:
这是命令行(我放了 -lboost_thread-mt 因为没有非多线程版本,这是有道理的):
$ x86_64-w64-mingw32-g++ -std=c++11 test.cpp -o test -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -L/usr/x86_64-w64-mingw32/ sys-root/mingw/lib -lboost_thread-mt -lboost_system
/tmp/cc4Wh6PO.o:test.cpp:(.text$_ZN5boost12shared_mutex28interlocked_compare_exchangeINS0_10state_dataEEET_PS3_S3_S3_[_ZN5boost12shared_mutex28interlocked_compare_exchangeINS0_10state_dataEEET_PS3_S3_S3_]+0x2f):未定义引用`InterlockedCompareExchange 退出状态:收集'2
但是使用 mingw32 它编译起来就像一个魅力:
$ i686-w64-mingw32-g++ -std=c++11 test.cpp -o test -I/usr/i686-w64-mingw32/sys-root/mingw/include -L/usr/i686-w64-mingw32/ sys-root/mingw/lib -lboost_thread-mt -lboost_system
我的问题是:我做错了什么还是 mingw64 中的错误?它是否与 mingw 的 windows 版本一起编译?
编辑:实际上确实如此,所以它一定是fedora mingw64包中的一个错误
terminal - MinGW 终端缺少功能
我已经安装了 MinGW-builds 和 64 位版本的 MinGW。
当我尝试从安装运行运行终端程序时,我得到以下输出:
我无法执行安装附带的 make 和其他命令,所以我似乎以某种方式恢复到基本的 Windows cmd 终端。
如何确定 MinGW 终端缺少功能的原因?
我之前使用包管理器以及 MSYS 安装了 MinGW。我已尽我所能删除它们,并使用 CCleaner 清理对它们的引用。
我检查了我的 PATH 但我看不到明显的问题:
c++ - Boost + Mingw-w64 + Boost 日志不起作用
我已经编译了 boost,cmake 工作,一切都接近工作了,但是最简单的示例(琐碎的日志记录)无法编译,并出现链接器错误。我真的不知道该怎么办。
这是我当前的 CMake 设置
这是错误日志
Boost 被编译为使用动态库。
我正在使用 Boost-1.54、Mingw-w64 4.8.1 rev 5(x64 seh posix 版本)和 Cmake 2.8.11 我试过静态链接无济于事。