问题标签 [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 - 当 ZMQ_FD option_val 的本地地址通过时,zmq_getsockopt 在 Windows x64 上返回 EINVAL
在 Windows x64 上,将局部变量的地址传递给 ZMQ_FD 的 zmq_getsockopt 始终会导致 EINVAL。下面的代码是重现问题的最小代码。
使用第一个(联机帮助页)表单运行上述内容总是会产生:
然而,第二个,使用 malloc 注释掉的表单没有问题。这对我来说是零意义,因为将局部变量的地址传递给 zmq_getsockopt 是完全合法的。
此问题仅在 Windows 上出现 64 位二进制文件;Windows 上的 32 位二进制文件或 linux 上的 64 位二进制文件没有问题。
这似乎也只是 ZMQ_FD 套接字选项的问题。ZMQ_TYPE 和 ZMQ_SNDHWM 工作没有问题。
Windows x64 上是否有一些我不知道的与 ZMQ_FD 相关的奇怪行为?
更新
所以我只是注意到我的“工作”代码实际上是错误的。
以第二种形式获取指针的大小。实际上,它与 malloc 无关,因为一旦我将其更改为 sizeof(int) 应该是我再次得到 EINVAL:
事实证明,我显然需要在 windows x64 上使用带有 ZMQ_FD 的 64 位整数类型
这非常令人困惑,因为 zmq_getsockopt 的 api 是int。这是一个错误吗?窗户怪癖?我很浓?
相关附录:
zmq 版本:3.2.3
编译器:使用 mingw-w64、rubenvb-4.8.0 为 64 位和 32 位二进制文件构建交叉编译
操作系统:Windows 7
c++ - #error 仅支持 Win32 目标
我正在使用 cygwin64 并在我的项目中包含 MinGW64/x86_64-w64-mingw32/include 文件夹。但是,当我在项目上运行 make 时出现以下错误:/cygdrive/c/MinGW64/x86_64-w64-mingw32/include/sys/types.h:10:2: error: #error Only Win32 target is supported!
我认为由于 types.h 文件似乎位于 64 位文件夹中,它将支持 64 位系统,所以我在这个系统中误解了什么.
它被捕获的 types.h 中的代码如下
python - python_x64 + C 库在 Windows7 Py_InitModule4 上用 mingw_x64 编译
我正在尝试使用 mingw-x64 在 Windows7(64 位)上为 python 编译 C 库。这一切都像 32 位版本的魅力一样。
我曾经用 gcc -shared -IC:\Python27\include -LC:\Python27\libs myModule.c -lpython27 -o myModule.pyd 编译我的库
它适用于 32 位版本。相同的过程适用于 64 位 linux。但是在 64 位 windows7 上(使用 64 位 x86_64-w64-mingw32 和 64 位 python 2.7.5)我有一个问题:
我检查了 C:/Python27/libs/modsupport.h 它已经包含
我目前不知道该怎么做。有什么建议吗?C 代码在这里不是问题。我对来自
http://csl.name/C-functions-from-Python/
的示例有同样的问题
注意 - 本示例中第 26 行的错字:应该是 VARARGS
是的 - 我确实发现(类似于How can I build my C extensions with MinGW-w64 in Python? question )我可以通过将 -DMS_WIN64 添加到 gcc 行来编译这个简单的例子,但我仍然在我的真实中遇到类似的错误程序(建议还有更多)
gcc - Windows 的 MingGW (gcc 4.8) 中的 qsort_s 位于哪个标头中?
我收到“函数 'qsort_s' 的隐式声明”警告,这意味着 GCC 在包含的标头中找不到它。我包括:
我无法通过谷歌搜索 qsort_s 或 qsort_r 的位置(我读过它们提供相同的功能 - 允许将上下文传递给比较器函数)。
任何人都知道如何解决它?
c++ - 带有 MinGW 的 Windows 上的 Qt5 项目
我一直在将 Visual Studio 2012 用于 Qt/C++ 项目。
我正在尝试迁移到 MinGW,以便我可以完全使用 C++11,而不是 MSFT 编译器提供的部分支持。使用 CMake 生成项目并制作非常顺利,编译了所有子项目和主项目本身。
但是,链接给了我一些错误,我不知道如何解决它们:
链接 CXX 可执行文件 Owl.exe CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x1e): undefined reference to
__imp__ZN9QTreeViewC2EP7QWidget' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x7b): undefined reference to
_ imp _ZN9QTreeViewD2Ev' CMakeFiles\Owl.dir/objects.a (BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x116): 未定义引用__imp__ZNK17QAbstractItemView5modelEv' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x1a1): undefined reference to
_imp _ZNK18QStandardItemModel9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEEi ' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text +0x303): 未定义引用__imp__ZN8QVariantD1Ev' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x350): undefined reference to
_imp _ZeqRK7QStringS1_ ' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+ 0x53e ): 未定义引用__imp__ZN8QVariantD1Ev' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x649): undefined reference to
_imp_ZNK9QTreeView10indexBelowERK11QModelIndex' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x669): undefined reference to__imp__ZNK17QAbstractItemView5modelEv' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x6b1): undefined reference to
_ imp _ZN17QAbstractItemView15setCurrentIndexERK11QModelIndex' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp .obj):BoardTreeView.cpp:(.text+ 0x6c1 ): 未定义引用__imp__ZN8QVariantD1Ev' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x6d6): undefined reference to
_imp_ZN8QVariantD1Ev' c:/progra~1/mingw-~1/x64-48~1.1-p/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../. ./../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj): `.text$_ZNSt9exceptionC2Ev[_ZNSt9exceptionC2Ev]' 部分中的错误重定位地址 0xf'collect2 .exe: 错误: ld 返回 1 退出状态 Deltas\CMakeFiles\Owl.dir\build.make:1217: 目标 'Deltas/Owl.exe' 的配方失败 mingw32-make[2]: * [Deltas/Owl.exe]错误 1 CMakeFiles\Makefile2:435:目标“Deltas/CMakeFiles/Owl.dir/all”的配方失败 mingw32-make[1]: [Deltas/CMakeFiles/Owl.dir/all] 错误 2 Makefile:115: 目标“所有”的配方失败 mingw32-make: * * [all] 错误 2
该项目使用 Visual Studio(和 Xcode、FWIW)编译和链接得很好,所以我不确定链接器缺少什么。
任何人都可以提供任何建议吗?
c++ - MinGW x64 Adding 'A' to end of member function
I have the following code:
I get the following strange error from MinGW-builds-4.8.1-x64-posix-seh
:
The thing that confuses me is why it is saying the PeekMessageA()
function doesn't exist, where did the A
come from?
If I remove the definition, it will compile and I will get the expected linker errors:
This shows that the A
is added to the Task::TaskImpl::PeekMessageA
. What is this A
and why is gcc
not finding the compiling the correct symbol when I build my file?
linux - 使用 MinGW-w64 套件在 Linux 上编译 Windows 时出错
当我使用简单的 hello world c 程序时,它可以正常工作并为 Windows 64 位生成正确的 exe 文件。但是当我使用一些需要在命令中添加 lib 和包含文件的代码时,它会生成以下错误。如果我使用简单的 gcc 命令,这将非常好。
====================================================
命令已执行。 myroot@ubuntu:/home/mysystem/Desktop# /opt/mingw64/bin/x86_64-w64-mingw32-gcc /home/mysystem/Desktop/hello.c -I /home/mysystem/Desktop/oracle/include/ -L /opt/Db/lib/ -L /opt/Db/9/lib -ldld -o /home/mysystem/mystem/testme.exe
==================================================== =
错误 /opt/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../../x86_64-w64-mingw32/bin/ld:找不到- ldld collect2: ld 返回 1 退出状态
==================================================== =
需要帮助请
vim - 如何使用 MinGW-64 在 Windows 上编译 vim 64 位?
我试图在 Windows 上编译 vim 64 位。但我不知道如何使用 MinGW-64。32 位版本中有一个 mingw-32-make,我可以用它来构建。但我在 64 位 MinGW 中没有找到任何“制作”程序。你能告诉我如何使用 mingw-64,或者我可以遵循的任何教程吗?
谢谢你。
64-bit - 如何在 Windows 上构建 gettext 64bit dll。
我成功在 Windows 上构建了 gettext 32bit dll。
我安装了这些。gettext-0.18.11 mingw(包括 msys)
但我不知道如何构建 64bit dll。
有人说我应该使用mingw64。然后我安装了mingw64和msys。
但我不知道如何设置 mingw64 和 msys 来构建 64 位 dll。而且我不知道构建 64 位 dll 的 gettext 配置选项。
谢谢。
mingw-w64 - x86_64-w64-mingw32-gcc.exe:错误:CreateProcess:没有这样的文件或目录
在 Windows 7 上构建 MINGW64 时,我收到此错误“x86_64-w64-mingw32-gcc.exe: error: CreateProcess: No such file or directory”。
有人对此有任何想法吗?