草庐IT

MINGW_PACKAGE_PREFIX

全部标签

c++ - 将 MSVC++ .lib 文件与 mingw 一起使用。名称修改

我有静态C++库,用MSVC和dll文件编译(称为opennurbs的库)。我需要在项目中使用这个库,由mingw编译(我使用Qtcreator,但项目不使用qt库)。所以,我有Unresolvedexternal问题。我认为名称修改有问题。如何将.lib文件转换为.a库?我尝试使用nm命令,但它不起作用:“foo.dll中没有符号”。Extern"C"不起作用,因为它是C++库。 最佳答案 一般来说,您不能从用另一个编译器构建的程序中使用用一个编译器构建的C++DLL。名称重整只是问题之一-没有对异常处理、RTTI、内存管理甚至类

c++ - 为什么 mingw 知道 round() 但 visual studio 编译器不知道

有效的示例代码,由gcc编译但不由VS编译器编译:#includeintmain(){floatx=1233.23;x=round(x*10)/10;return0;}但出于某种原因,当我在VisualStudio中编译时出现错误:C3861:'round':identifiernotfound我什至包括了cmath正如这里有人建议的那样:http://www.daniweb.com/software-development/cpp/threads/270269/boss_loken.cpp147-error-c3861-round-identifier-not-found只有gcc有

c++ - 如何使用配置模式进行 find_package 搜索并在模块模式下进行回退?

当一个库使用CMake定义了一个构建并经历了为自己构建安装包的麻烦时,就会有一个XXXConfig.cmake。如果库无法将其目标导出到CMake,CMake会尝试通过提供试图找到此类库的FindXXX.cmake脚本来弥合差距。在文档中,首先尝试使用FindXXX.cmake(模块模式),只有在失败时才会尝试使用XXXConfig.cmake(配置模式).但这对我来说似乎真的很倒退。问题是,例如,我从源代码构建了CURL,ConfigXXX生成了与FindXXX不同的目标名称,因此,当尝试使用它时,它失败了,因为FindXXX负责find_package请求并加载了不同的目标名称超出

c++ - 在 MinGW/MSYS 上编译 GCC 4.x.x 失败

在过去一周左右的时间里,我一直在尝试编译任何GCC4系列编译器,以便在GCC版本附带的MinGW5.1.6/MSYS1.0.11(均来自Sourceforge.org的自动安装程序)中运行3.4.5.最终目标是安装GCC4.5,但我无法构建任何4.x.x编译器。我已将其缩小为一系列构建指令,这些指令会导致某些异常行为。编译器执行:build/genmodes.exe>tmp-modes.c/bin/sh../../gcc-4.2.4/gcc/../move-if-changetmp-modes.cinsn-modes.cechotimestamp>s-modesgcc-c-g-fkee

c++ - mingw g++ 4.7.2 中未声明的 decltype

出于某种原因,当尝试在mingw上用G++编译以下代码时#include#include#includeintmain(intargc,char**argv){std::strings("Hello,World!");decltype(s.size())punct_cnt=0;for(autoc:s){if(ispunct(c))++punct_cnt;}std::cout出现以下错误test.cpp:Infunction'intmain(int,char**)':test.cpp:9:23:error:'decltype'wasnotdeclaredinthisscopetest.c

c++ - MinGW 不喜欢评论

我在Windows7上使用“code::blocks”时遇到编译问题。我的C代码是://whateverintmain(void){return0;}//thisisblanklineMinGW命令行是:gcc.exe-Wall-g-ansi-cC:...\Test\main.c-oobj\Debug\main.o如果我尝试编译它,我会得到错误:C:\...\Test\main.c|1|error:expectedidentifieror'('before'/'token(本来想在这里发个图,可是声望不够。。。)我的源文件中只有3行代码。(最后只包含\0,但我不知道如何添加一个空行)。

c++ - graphics.h 在 Windows 7 64 位中无法使用 MinGW 的代码块

我已经从以下站点设置了在CodeBlocks中执行图形代码所需的图形文件:-http://www.codewithc.com/how-to-include-graphics-h-in-codeblocks然后我尝试了这个示例代码。#includeintmain(){initwindow(400,300,"FirstSample");circle(100,50,40);while(!kbhit()){delay(200);}return0;}但是当我在代码块中运行代码时,我得到了这个谁能解决我的问题? 最佳答案 这是因为graphic

c++ - 如何在 constexpr string_view 上使用 std::string_view::remove_prefix()

std::string_view::remove_prefix()和std::string_view::remove_suffix()都是c中的constexpr成员函数++17;但是,它们会修改调用它们的变量。如果值是constexpr,它也将是const并且不能修改,那么这些函数如何用于constexpr值?换句话说:constexprstd::string_viewa="asdf";a.remove_prefix(2);//compileerror-aisconst如何在constexprstd::string_view上使用这些函数?如果它们不能在constexprstd::s

c++ - Windows服务和mingw

是否可以仅使用mingwc++编译器和库来编译windows服务?我假设可以将编译器与VisualStudio标准库和方法一起使用,但想做到这一点几乎完全开源。有经验吗? 最佳答案 由于您可以使用MinGW使用Windows平台SDK(或今天的任何称呼)构建程序,因此您可以构建Win32服务。服务只是带有一些特定协议(protocol)的Win32程序,用于将它们注册到系统并与操作系统的服务Controller交互。 关于c++-Windows服务和mingw,我们在StackOverf

c++ - 使用 mingw 在 Linux 上交叉编译 Direct3D

如何配置mingw32以交叉编译适用于Windows的Direct3D应用程序?有没有可能?我实际上已经成功地编译了本教程中的代码:http://www.directxtutorial.com/Tutorial9/B-Direct3DBasics/dx9B4.aspx-在Kubuntu上使用Code::Blocks和i586-mingw32msvc-g++。我需要添加#defineUNICODE并删除#pragma...部分来执行此操作,并且我使用了/usr/i586-mingw32msvc/include和libs中的头文件也来自mingw包。但是我无法编译本教程中的代码:http: