草庐IT

universal-mingw

全部标签

c++ - 模板特化导致 Windows 上的 MinGW 链接错误,而不是 Linux 上的 GCC

以下build设置在使用GCC(4.6.3)的Linux上运行良好,但不适用于使用GCC(4.7.2)的MinGW。$catMakefileall:g++-cfoo.cppg++-cbar.cppg++bar.ofoo.o-obar$catfoo.h#ifndefFOO_H#defineFOO_H#includetemplatevoidfoo(Tx){std::cout$catfoo.cpp#include"foo.h"templatevoidfoo(intx){std::cout$catbar.cpp#include"foo.h"intmain(){foo(1);}在Linux上,我

c++ - rand_r 不在范围内,gcc mingw 在 Windows 上的 cygwin 下

我正在尝试将一些代码从linux移植到cygwin下的windows。我发现这个奇怪的错误,其中“rand_r未在此范围内声明”。我将gcc4.8.1用作x86_64-w64-mingw32并且在它的搜索路径(-v选项)中它确实在正确的目录中查找。头文件已正确包含。我正在寻找解决这个问题的想法。是否有关于cygwin的一些事实我遗漏了,因此遇到了这个问题?有没有办法检查gcc是否确实接触了所需的文件? 最佳答案 与标准的rand函数相比,rand_r函数被认为是线程安全的。参见man3rand_r.一种选择是通过封装对rand的调用

windows - MinGW Make 抛出 "The system cannot find the path specified."错误

我正在尝试在Windows7上使用cmake生成一个c++项目。在它实际创建项目之前,尽管看起来cmake对您的工具链进行了快速测试(我正在使用MinGW),这就是我的问题所在。Cmake触发make构建,最终失败并返回“系统找不到指定路径”的响应。我运行了在试运行模式(-n)下失败的特定makefile并手动执行了所有命令:"C:\ProgramFiles(x86)\CMake\bin\cmake.exe"-Ecmake_progress_reportC:\SFML\CMakeFiles\CMakeTmp\CMakeFiles1echoBuildingCobjectCMakeFile

windows - 创建 "fat"/"Universal"Windows DLL 在技术上是否可行?

尽管目前没有可以创建一个的工具,但是否可以将x64和x86符号都放入一个DLL中,并使其在x64和x86上都可以工作?如果存在某种允许WindowsDLL加载程序跳过不兼容符号等的规范/黑客攻击,则可以创建一个...... 最佳答案 不,一个DLL只包含一个头文件,IMAGE_FILE_HEADERintheSDK.其中包含Machine字段,它表示DLL包含什么样的代码。无法指定一种以上的机器类型。 关于windows-创建"fat"/"Universal"WindowsDLL在技术上

c++ - 应用程序段错误,仅当使用 MinGW 在 Windows 上编译时

我正在尝试编译oneofmygames在Windows上,但不幸的是,无论如何,我每次运行该程序时都会遇到此段错误。编译成功,并且没有任何警告。ProgramreceivedsignalSIGSEGV,Segmentationfault.__chkstk_ms()at../../../../../src/gcc-4.8.1/libgcc/config/i386/cygwin.S:172172../../../../../src/gcc-4.8.1/libgcc/config/i386/cygwin.S:Nosuchfileordirectory.我试过:在Windowsx86机器上编译

c - 如何在mingw中检测命令行参数的字符编码

假设它们是ISO-8859-15(Window-1252?)是否安全,或者我可以调用一些函数来查询它吗?最终目标是转换为UTF-8。背景:thisquestion描述的问题出现是因为XMLStarlet假定其命令行参数是UTF-8。在Windows下,它们似乎实际上是ISO-8859-15(Window-1252?),或者至少将以下内容添加到main的开头可以使事情正常进行:char**utf8argv=malloc(sizeof(char*)*(argc+1));utf8argv[argc]=NULL;{iconv_twindows2utf8=iconv_open("UTF-8","

c - DLL:在 Linux for Windows 上使用 MinGW 编译 C 时无法识别文件格式

我在Linux(特别是Ubuntu)上使用MinGW为Windows编译C程序。我正在使用一个名为SFML的库,它的绑定(bind)名为CSFML。我正在使用-L和-l来定位库,但在编译时出现此错误:win32/dll/csfml-audio-2.dll:filenotrecognized:Fileformatnotrecognised我不知道为什么。这是我用来编译的命令:sudoi686-w64-mingw32-gcc-owanderingsrc/main.csrc/constants.csrc/Display/display.c**...somemorecfilesinhere..

c++ - MinGW,链接到 Windows 上的 dll

我正在尝试在示例程序中使用从相机供应商处收到的库。我有一个.dll和一个.lib文件用于库。我的编译命令是:g++-o"Win32App.exe"-L"..\..\SKdevelop\SK91GigE-WIN\Lib"obj/winmain.oobj/callbacks.oobj/resource.o-s-lcomctl32-Wl,--subsystem,windows-lSK91GigE_x64我得到:obj/winmain.o:winmain.cpp:(.text+0x292):undefinedreferenceto`SK_LOADDLL'collect2.exe:error:l

linux - 在 linux 上使用 mingw 与 clang 交叉编译

我试图在linux下为windows编译。我已经为linux和w64-mingw安装了binutilsmultilib。如果我使用x86_64-w64-mingw-gcc进行编译,一切正常,但如果我将clang与-targetx86_64-w64-mingw或x86_64-windows-gnu编译器一起使用,则会给我很多警告和windows.h的包含错误。问题是什么?Clang不支持mingwbinutils?附言我也对freebsd的交叉编译感兴趣,我在哪里可以找到针对freebsd的binutils?非常感谢您:) 最佳答案

c# - Windows Universal App 必须在调试前部署

如果我对我的Windows通用应用程序进行了任何更改,我必须在能够调试之前手动部署它。我的意思是不会命中断点,因为它与符号不同步。我拥有包含所有最新更新的VisualStudio2015。这是设计使然吗?有没有办法在进行调试之前强制部署? 最佳答案 您可以控制在配置管理器中部署哪些应用程序/项目。从“构建”菜单中打开“配置管理器”,并检查您的应用程序是否已被选中进行部署。 关于c#-WindowsUniversalApp必须在调试前部署,我们在StackOverflow上找到一个类似的问