草庐IT

c++ - MinGW/CxxTest 奇怪的错误

我希望你能帮助我。我在我的主要开发机器上使用CxxTest编写了一个小项目。在这台机器上一切正常,没有问题。但是,我尝试在我全新的笔记本电脑上设置这个项目,但无法让它工作!我怀疑我的MinGW安装而不是CxxTest出了问题,但这真的很难知道-错误来自CxxTest文件。这是项目的文件夹结构:lib/cxxtest-4.3/src/TestUtils.htest.cpptest/MyTestSuite.hlibstdc++-6.dll在我运行的命令行上:cdtest..\lib\cxxtest-4.3\bin\cxxtestgen--error-printer-orunner.cppM

c++ - VisualStudio 和 gcc 之间 *.dll *.a *.lib *.def 的兼容性

这很令人困惑。我花了很多时间在堆栈等上阅读有关此的帖子。仍然感到困惑。我正在使用Qt和C++进行编码。在Qt中,我将gcc选项用于编译器。问题是我尝试过的许多第3方库似乎都不起作用。我是.dll、.a、.lib、.def文件和库方案的新手。问题一:根据我有限的经验(到目前为止,我已经尝试了7或9个库),库的供应商很少告诉您.dll是用VisualStudio还是gcc制作的。这增加了很多困惑。他们几乎从未明确说明该库与哪种编译器兼容。所以我会很感激一些关于如何处理这个噩梦的现实生活中的提示。我尝试的几乎所有库都是开源项目。我不会在这里命名,但这些都是众所周知的项目。我确定问题是我缺乏知

c++ - VisualStudio 和 gcc 之间 *.dll *.a *.lib *.def 的兼容性

这很令人困惑。我花了很多时间在堆栈等上阅读有关此的帖子。仍然感到困惑。我正在使用Qt和C++进行编码。在Qt中,我将gcc选项用于编译器。问题是我尝试过的许多第3方库似乎都不起作用。我是.dll、.a、.lib、.def文件和库方案的新手。问题一:根据我有限的经验(到目前为止,我已经尝试了7或9个库),库的供应商很少告诉您.dll是用VisualStudio还是gcc制作的。这增加了很多困惑。他们几乎从未明确说明该库与哪种编译器兼容。所以我会很感激一些关于如何处理这个噩梦的现实生活中的提示。我尝试的几乎所有库都是开源项目。我不会在这里命名,但这些都是众所周知的项目。我确定问题是我缺乏知

c++ - 如何使用 MinGW 在 Windows 中构建 Google 的 protobuf?

我在MingGW中使用Codeblocks作为我的IDE。我正在尝试使用谷歌ProtocolBuffer,但我在构建protobuf时遇到了问题。protobuf的自述文件说:IfyouareusingCygwinorMinGW,followtheUnixinstallationinstructions,above.Unix指令说:TobuildandinstalltheC++ProtocolBufferruntimeandtheProtocolBuffercompiler(protoc)executethefollowing:$./configure$make$makecheck$m

c++ - 如何使用 MinGW 在 Windows 中构建 Google 的 protobuf?

我在MingGW中使用Codeblocks作为我的IDE。我正在尝试使用谷歌ProtocolBuffer,但我在构建protobuf时遇到了问题。protobuf的自述文件说:IfyouareusingCygwinorMinGW,followtheUnixinstallationinstructions,above.Unix指令说:TobuildandinstalltheC++ProtocolBufferruntimeandtheProtocolBuffercompiler(protoc)executethefollowing:$./configure$make$makecheck$m

c++ - 如何在 Linux 上调用 MinGW 交叉编译器?

我有一个项目,我想为Windows进行交叉编译。我有适当的Makefile并且一切都适用于g++。我跑了$aptinstallmingw-w64并下载了500MB的软件包,但我不知道如何实际运行它。没有mingw可执行文件,那么我该如何实际编译呢? 最佳答案 如果您在Ubuntu软件包网络服务器上查看mingw-w64的组成软件包的文件列表:gcc-mingw-w64-x86-64g++-mingw-w64-x86-64binutils-mingw-w64-x86-64mingw-w64-x86-64-devgcc-mingw-w6

c++ - 如何在 Linux 上调用 MinGW 交叉编译器?

我有一个项目,我想为Windows进行交叉编译。我有适当的Makefile并且一切都适用于g++。我跑了$aptinstallmingw-w64并下载了500MB的软件包,但我不知道如何实际运行它。没有mingw可执行文件,那么我该如何实际编译呢? 最佳答案 如果您在Ubuntu软件包网络服务器上查看mingw-w64的组成软件包的文件列表:gcc-mingw-w64-x86-64g++-mingw-w64-x86-64binutils-mingw-w64-x86-64mingw-w64-x86-64-devgcc-mingw-w6

c++ - 使用 mingw 和 g++ 4.7.2 让 std::thread/mutex 在 Win7 下工作

您好,我最近搬出我的unix避难所来测试一个所谓的跨平台网络库,结果发现mingw不喜欢吃c++11的东西。我认为我缺少所需的header,因为Win7不包含c++11支持。用VS2012编译就好了但g++拒绝。error:'thread'innamespace'std'doesnotnameatypeerror:'mutex'innamespace'std'doesnotnameatype问题是:如何在不使用VS2012安装提供的情况下获取c++11头文件/库的拷贝,即。附:#1我试过mingw-getupdate但还是找不到附言#2我也在使用-std=c++11真诚的,克里斯。

c++ - 使用 mingw 和 g++ 4.7.2 让 std::thread/mutex 在 Win7 下工作

您好,我最近搬出我的unix避难所来测试一个所谓的跨平台网络库,结果发现mingw不喜欢吃c++11的东西。我认为我缺少所需的header,因为Win7不包含c++11支持。用VS2012编译就好了但g++拒绝。error:'thread'innamespace'std'doesnotnameatypeerror:'mutex'innamespace'std'doesnotnameatype问题是:如何在不使用VS2012安装提供的情况下获取c++11头文件/库的拷贝,即。附:#1我试过mingw-getupdate但还是找不到附言#2我也在使用-std=c++11真诚的,克里斯。

c++ - 标准库容器在 GCC 中生成大量右值拷贝

我正在为linux和windows编写一个应用程序,并注意到GCC构建对复制构造函数产生了很多无用的调用。这是产生这种行为的示例代码:structA{A(){std::coutvec_a(3);}这个测试只创建一个包含3个元素的vector。我期望3个默认构造函数调用和0个拷贝,因为没有A左值。在VisualC++2010中,输出为:defaultmovedefaultmovedefaultmove在GCC4.4.0(MinGW)中,(-O2-std=c++0x),输出为:defaultcopycopycopy发生了什么,我该如何解决?实际类(class)的拷贝很昂贵,默认构造和移动很