草庐IT

MinGW-builds

全部标签

c++ - 我在这里支付违约 build 费用吗?如果支付的话,我可以避免吗?

在构建T成本高昂的情况下,我想知道在以下情况下我是否为默认构建付费(我想我会付费)std::functionmake_t;std::vectort(100000);std::generate(t.begin(),t.end(),make_T);如果我必须为此付费,我可以避免吗?我想写一些类似的东西std::functionmake_t;std::vectort;t.reserve(100000);std::generate(t.begin(),t.end(),make_T);但这不起作用,因为它不会将t.end()移动到保留内容的末尾。以下是否安全/可取/正确?std::functio

c++ - Netbeans 和 MinGW-w64

我正在尝试在win764位上配置我的NetBeans,以使用MinGW-w64。所以我将以下编译器路径放入%PATH%变量中:C:\mingw-w64-bin_i686\mingw\binC:\minGw-MSYS\msys\binC:\mingw-w64-bin_i686\libexec\gcc\x86_64-w64-mingw32\4.7.0然后我打开了NetBeans并进行了配置:TheconfigurationinNetBeans我试图编译一个小测试程序但我收到了这个错误:g++.exe:fatalerror:-fuse-linker-plugin,butliblto_plug

c++ - C/C++ : how to get integer unix timestamp of build time (not string)

我正在尝试实现非常微不足道的事情:我需要存储构建时间的整数32位unix时间戳,但是我找到的所有宏(__DATE__,__TIME__,__TIMESTAMP__)扩展为字符串,而不是整数。看来,我们只是没有它(这对我来说很奇怪)。我真的想要整数,而不是字符串。获得它的最佳做法是什么?更新:附带说明:我做嵌入式的东西,所以我没有足够的资源(比如128KB的闪存),因此解析字符串真的是个坏主意。我为什么需要它:我只需要每个Beta版本都有唯一的版本号。首先,hex文件将被命名为my-firmware-v2-33-BETA-1397315745.hex,其次,当我需要在设备屏幕上显示当前版

c++ - Windows 上 Mingw 的 DLL 依赖项

我正在开发一个程序,该程序使用autotools作为其构建系统并在Linux上编译良好。为了为windows构建,我试图让mingw交叉编译器为windows工作。现在,当我在linux上编译并移动到windows时,我当然会丢失一些默认情况下未安装在windows上的dll。这会导致缺少dll错误。由于LGPL的限制,我无法静态链接我的程序。所以我的问题是在这种情况下交叉编译的正确方法是什么?我觉得我需要将我的exe包装在一个安装程序中,该安装程序会自动解析并安装Windows的dll依赖项,但我无法找到解释如何执行此操作的内容。基本上我在考虑yum/apt-getforwindow

C++ 与 git 和 CMake : How to build submodules with specific parameters?

考虑一个在git存储库中组织的C++项目。假设git存储库有一个子模块,(super)项目依赖于该子模块构建了一个库。如果(super)项目不仅依赖于库,还依赖于使用特定(CMake)参数构建的库,那么如何确保在构建(super)项目时使用这些参数构建子模块? 最佳答案 必须将构建选项(如MYLIB_WITH_SQLITE)添加到库的接口(interface)中,即在老式配置的情况下添加到MYLIB_DEFINITIONS变量中-模块,或者到INTERFACE_COMPILE_DEFINITIONS属性,如果库使用install(E

c++ - Visual C++ 2010 : deterministic build? 如何区分 exe/dll 文件?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicates:DeterministicbuildsunderWindowscomparingproductsofbuildsinreleaseVisualStudio2010C++构建是否具有确定性?也就是说,在给定等效源代码输入和相同编译/链接设置的情况下,它是否始终会生成相同的二进制指令?我知道可能有各种日期戳和其他编译系统相关的字段被写入二进制EXE或DLL文件。所以我的问题的第二部分是:当diff此类文件时,如何忽略这些“可变”元素?我正在尝试创建一个工具来比较来自不同构建迭代的二进制工件,并告诉我它们在功能上

c++ - 使用 MinGW 在 C++ 中生成异常堆栈跟踪

帖子“HowtogenerateastacktracewhenmygccC++appcrashes”解释了应用程序崩溃时如何生成堆栈跟踪。但gcc版本不适用于windowsMinGW。事实上,由于缺少headerexecinfo.h,它甚至无法编译。在windowsxp及更高版本上是否已经有适用于MinGW的东西?编辑Stackwalking可以通过下面提到的步骤实现。但是当我在异常发生后尝试遍历catchblock中的堆栈时,我没有得到想要的结果。我只能得到抛出异常的函数的名称,然后它显示列表-->main-->等等步骤:为帖子提供的第一个答案Win32APIstackwalkwit

c++ - 在 Windows 上使用 MinGW 构建黄金链接器,未在此范围内声明 FLEX/bison 'YYSTYPE'

我正在尝试使用mingw构建包含在GNUbinutils中的gold链接器。我采取的步骤-使用安装程序安装mingw和所有包。使用Windows安装程序将Windows版本的FLEX安装到默认位置。在mingwshell的gold链接器目录中运行./configure,这似乎工作正常运行make,这是我遇到一些错误的地方。我已经将./configure和make的完整输出包含在此处的pastebin中:http://pastebin.com/1XLkZVVm但重要的是:make[2]:Enteringdirectory`c:/binutils-2.23.1/binutils-2.23.

本地Android图书馆模块和com.android.tools.build:3.0.0

我目前正在通过提供的迁移指南迁移我们的项目迁移到新的Gradle插件(3.0.0):https://developer.android.com/studio/preview/features/new-android-plugin-migration.html在我们的Android项目中,我们有一个单个库模块和2个应用模块。库的图书馆模块没有口味,只是调试&释放构建类型,而应用程序具有多种口味和构建类型。我发现的是库模块的构建类型必须匹配应用模块的模块确切地。例如,如果应用模块具有称为debugproguard的buildType,则库模块还必须具有称为debugproguard的bui

c++ - 如何更改 eclipse cdt mingw32 中的内置工具链

我正在使用cdt/mingw在Windows上进行编译。我喜欢免费编译警告。我收到以下警告:auto-importinghasbeenactivatedwithout--enable-auto-importspecifiedonthecommandline.下面的页面建议处理它的方法是将那个选项添加到ld的命令行。4.8ldandWIN32(cygwin/mingw)问题是,如何更改内置工具链的默认命令行开关?我也想设置gcc的警告级别。 最佳答案 您必须通过gcc的-Wlparameter将参数发送到链接器:-Wl,optionP