草庐IT

c++ mingw STL安装

我最近在我的Windows32机器上安装了MinGW和MSYS,它似乎运行良好。在C++编译器上,我包含了一个vector容器并且没有收到任何错误。但是当我尝试使用它时出现编译时错误。所以,代码#include//includevector.h#include//includestdio.husingnamespacestd;main(){//vectorA;printf("\nHeya..");}运行良好。然而,当我取消注释第8行--vector声明行时,我在编译时收到以下错误(已缩短):undefinedreferenceto'operatordelete(void*)'undef

c++ - 为什么我在 MinGW 中不需要标志 -lm 但在 Linux 中我明确需要它?

如果我需要使用数学库,我需要在Linux中使用GCC时添加-lm。但是在Windows上,当我在MinGW-w64中使用GCC时,我没有使用-lm并且它运行良好。我知道为什么需要链接libm的原因。但我真的不知道为什么我可以在Windows中忽略它? 最佳答案 因为在MinGW下,数学函数实际上并没有在libm中定​​义。“libm”是用作占位符的空库;数学函数实际上在MSVCRT.DLL中定义,whichMinGWusesasitsstandardlibrary.(使用系统的MSVCRT作为标准C库的有效性isdebatable。

c - Windows 上带有 GCC 的 MinGW 误报数值

出于某种原因,每当我在编译器设置中使用数值时(Windows上的MinGW,使用CMD提示编译和运行),它在程序中完全误报数字。代码示例://Chelloworldexample#includeintmain(){intvalue;value=10;printf("Thenumberis%d\n"),value;intvalue2;value2=-100;printf("Thenumberis%d\n"),value2;return0;}比照。screenshotofoutput. 最佳答案 value和value2必须作为参数传递

c - 尝试从命令行获取星号 * 作为对 main 的输入

我正在尝试从命令行向我的主要功能发送输入。然后将输入发送到函数checkNum等。intmain(intargc,char*argv[]){intx=checkNum(argv[1]);inty=checkNum(argv[3]);into=checkOP(argv[2]);…}它应该是一个计算器,所以例如在我写的命令行中:program.exe4+2它会给我答案6(不包括此代码)。问题是当我想乘法并输入例如program.exe3*4它似乎创建了一个指针(或其他东西,不太确定)而不是给我指向char'*'的char指针。问题是我能否让输入“*”的行为与我键入“+”时的行为相同?编辑:

c++ - 串口通信教程

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我正在尝试编写一个C++程序,通过RS-232串行端口从测量设备读取数据流并将其转换为可读格式。我以前从未编写过串口通信。问题:有没有人有有用的、易于理解的链接或可能有帮助的教程?约束:编程语言:C++操作系统:Windows(XP)32位编译器:MinGW(用于原型(prototype)设计)、Eclipse(最终版)这意味着:否VisualStudi

windows - MinGW-w64 找不到存在的 Makefile

我在构建我的一个外部项目时遇到错误:mingw32-make.exe[3]:***Notargetsspecifiedandnomakefilefound.Stop.这是relevantcode用于在我的项目中构建它:FIND_PACKAGE(sphinxbase)if(${SPHINXBASE_FOUND})INCLUDE_DIRECTORIES(${SPHINXBASE_INCLUDE_DIR}/sphinxbase/)else()ExternalProject_Add(sphinxbaseGIT_REPOSITORY"https://github.com/syb0rg/sphin

c - 使用 mingw 对 imp 的 undefined reference

我遇到的问题是在构建项目时出现的“对'_imp__...'的undefinedreference”错误。我使用的是Windows7、MinGW、Eclipse以及.lib和.dll文件,这些文件不是我制作的,而是我直接从向我出售其产品的公司那里获取的。我用-l命令链接HRDL.lib文件,我在同一目录中有PicoHRDL.dll。找到了lib文件(我确定这一点),但出现错误。我已将完整路径包含在-L命令中。我已经包含了函数声明的头文件,我得到了undefinedreference,但错误仍然存​​在。我已经联系了Eclipse支持和Picotech支持(上述公司),但他们直到现在都无法

Windows 8堆栈问题与mingw

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。更详细地描述您的问题或includeaminimalexample在问题本身。关闭8年前。Improvethisquestion我在Windows8下使用C++(mingw编译器)遇到堆栈溢出问题。它只有64MB。我不知道如何改变它。我试着写#pragmacomment(linker,"/STACK:512000000")没用另外,我尝试编译我的程序g++-Wl,--stack=512000000a.cpp-oa.exe这也无济于事。然而,在Win

c++ - 在 Ubuntu 上缺少与 MinGW 的 header 依赖关系

我正在尝试从我的Ubuntu笔记本电脑设置一个交叉编译器,以便我可以为Windows编译命令行程序。到目前为止,我已经用g++编译了我需要的所有库,所以我想做同样的事情以生成等效的Windows二进制文件。我已经通过apt-get安装了gcc-mingw,它安装了一些二进制文件。我已经使用i686-w64-mingw32-g++二进制文件成功编译了一个适用于Windows的“HelloWorld”程序。但是我在编译更复杂的项目时遇到了一些问题。我注意到这个二进制文件包含与标准g++不同的文件夹,并且找不到依赖项(例如,boostheaders、bits/predefs.h等)。有没有办

c++ - 相当于 gnu 中 windows stdint.h 的 u_int16_t?

到目前为止,我假设u_int16_t是一个名为stdint.h的MSVS头文件中某处的Windows类型。我正在使用GNUg++作为编译器(实际上是带有mingw的代码块),我想知道typedefunsignedshortuint_least16_t;(在mingw的stdint.h内)是否等效,或者我可以做些什么来包含它类型?这个问题实际上与编译googlesparsehash有关用于MSVS的项目文件,但我使用的是代码块。这是它给我的错误(顺便说一句,这个错误重复了很多次)。c:\programfiles\codeblocks\mingw\bin\..\lib\gcc\mingw3