草庐IT

c++ - 为什么 MinGW 很慢?

我在Windows上使用带有GCC/MinGW的Code::BlocksIDE,并且我正在尝试构建一个wxWidgets应用程序,该应用程序具有ca.20k行和40个源模块。而且它的构建速度非常非常慢。编译一个C++模块需要2-5秒,链接甚至需要2-3分钟。这是一个可移植的代码,而且这个代码在Linux上编译得非常快。我无法跟随构建消息窗口...整个过程持续不到20秒。我尝试了常见的调整(例如,预编译头、关闭优化等),但没有任何效果。为什么这么慢? 最佳答案 您是否在ActiveDirectory域中,但没有立即连接到它?虽然我不知

c++ - 从 MinGW 链接到 MSVC DLL

我正在尝试将LizardTechGeoExpressDSDK链接到我自己的应用程序中。我使用gcc以便我们可以在平台上编译。在Linux和Mac上,这很容易实现:它们提供了一个静态库(libltidsdk.a)和头文件,我们所要做的就是使用它们。为windows编译并不是那么容易。他们使用MicrosoftVisualStudio构建了库,我们使用MinGW。我已经阅读了MinGW常见问题解答,并且遇到了以下问题。该库全是C++,所以我的第一个问题是:这可能吗?仅链接提供的dll会为所有C++调用(构造函数、析构函数、方法等)产生“undefinedreference”错误。基于Min

c++ - 从 MinGW 链接到 MSVC DLL

我正在尝试将LizardTechGeoExpressDSDK链接到我自己的应用程序中。我使用gcc以便我们可以在平台上编译。在Linux和Mac上,这很容易实现:它们提供了一个静态库(libltidsdk.a)和头文件,我们所要做的就是使用它们。为windows编译并不是那么容易。他们使用MicrosoftVisualStudio构建了库,我们使用MinGW。我已经阅读了MinGW常见问题解答,并且遇到了以下问题。该库全是C++,所以我的第一个问题是:这可能吗?仅链接提供的dll会为所有C++调用(构造函数、析构函数、方法等)产生“undefinedreference”错误。基于Min

c++ - 如何使用 MinGW gdb 调试器在 Windows 中调试 C++ 程序?

我已经查找了这方面的文档,但一无所获。我安装了MinGW,效果很好。我只是不知道如何使用调试器。给定一些简单的代码,比如在一个名为“mycode.cpp”的文件中:intmain(){inttemp=0;for(inti=0;i...我将如何调试它。我在Windows中使用MinGW和GDB调试代码的命令是什么?我可以像在VisualStudio中那样通过命令行单步执行代码吗?如果是这样,我使用什么命令来做到这一点?那里有使用GDB的教程吗?我找不到任何东西,但如果有人能指导我找到一个,那也很棒。我已经厌倦了编写大量std::cout语句来调试复杂代码。 最

c++ - 如何使用 MinGW gdb 调试器在 Windows 中调试 C++ 程序?

我已经查找了这方面的文档,但一无所获。我安装了MinGW,效果很好。我只是不知道如何使用调试器。给定一些简单的代码,比如在一个名为“mycode.cpp”的文件中:intmain(){inttemp=0;for(inti=0;i...我将如何调试它。我在Windows中使用MinGW和GDB调试代码的命令是什么?我可以像在VisualStudio中那样通过命令行单步执行代码吗?如果是这样,我使用什么命令来做到这一点?那里有使用GDB的教程吗?我找不到任何东西,但如果有人能指导我找到一个,那也很棒。我已经厌倦了编写大量std::cout语句来调试复杂代码。 最

c++ - 程序找不到 libgcc_s_dw2-1.dll

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Theprogramcan'tstartbecauselibgcc_s_dw2-1.dllismissing我正在使用Code::Blocks和MinGW4.4(我认为)编译器来创建C++项目。如果我从它的目录而不是从Code::Blocks中运行它,我会收到此系统错误。Theprogramcan'tstartbecauselibgcc_s_dw2-1.dllismissingfromyourcomputer.Tryreinstallingtheprogramtofixthisproblem.在thispos

c++ - 程序找不到 libgcc_s_dw2-1.dll

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Theprogramcan'tstartbecauselibgcc_s_dw2-1.dllismissing我正在使用Code::Blocks和MinGW4.4(我认为)编译器来创建C++项目。如果我从它的目录而不是从Code::Blocks中运行它,我会收到此系统错误。Theprogramcan'tstartbecauselibgcc_s_dw2-1.dllismissingfromyourcomputer.Tryreinstallingtheprogramtofixthisproblem.在thispos

c++ - 为静态链接构建 Boost (MinGW)

我正在使用bjam为MinGW构建Boost(我正在使用系统和文件系统):bjam--toolset=gccstage它构建得很好,但我希望能够静态链接到它(我必须为最终产品提供一个文件)所以我尝试了:bjam--link=static--toolset=gccstage但我得到相同的输出。有什么想法吗?编辑连续第二个问题我在发布后不久就回答了:p我想我会把这个留给其他人。bjam--build-type=complete--toolset=gccstage肯定会构建动态和静态的。 最佳答案 我认为链接是一个属性,而不是bjam的一

c++ - 为静态链接构建 Boost (MinGW)

我正在使用bjam为MinGW构建Boost(我正在使用系统和文件系统):bjam--toolset=gccstage它构建得很好,但我希望能够静态链接到它(我必须为最终产品提供一个文件)所以我尝试了:bjam--link=static--toolset=gccstage但我得到相同的输出。有什么想法吗?编辑连续第二个问题我在发布后不久就回答了:p我想我会把这个留给其他人。bjam--build-type=complete--toolset=gccstage肯定会构建动态和静态的。 最佳答案 我认为链接是一个属性,而不是bjam的一

c++ - 在非 Microsoft 平台上使用组件对象模型 (COM)

我经常遇到类似的情况:我有一堆COM.DLL(没有IDL文件),我需要使用和调用它们才能访问一些外部(非开放、非文档化)数据格式。Microsoft的VisualStudio平台具有非常好的功能,可以导入此类COMDLL并在我的项目中使用它们(VisualC++的#import指令,或使用VisualBasic.NET的对话框选择和添加它们)——这是供应商推荐的使用方式他们。我有兴趣找到一种在非微软开发平台上使用这些DLL的方法。也就是说,在使用MinGW或Cygwin编译的C++项目中使用这些COM类,甚至是Wine的GCC端口到linux(将针对Win32的C++编译成在Linux