MSVC++还不支持可变模板,所以它的标准库通过使用宏为std::tuple这样的类“伪造”了这些模板。我最近尝试用VC11测试版编译我的一个项目,并得到了如下结果:
gtest\gtest.h(9735): error C2977: 'std::tuple' : too many template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(72) : see declaration of 'std::tuple'
gtest\gtest.h(
我在构建我的项目时遇到以下错误
C:\gtest\gtest-1.6.0\include\gtest/gtest-printers.h(327) : error C2220: warning treated as error - no 'object' file generated
C:\gtest\gtest-1.6.0\include\gtest/gtest-printers.h(376) : see reference to function template instantiation 'void testing::internal::DefaultPrintT
由于某些原因,GTest在我的开发站上做得不是很好。一些ASSERT/EXPECT测试正在工作,但我无法进行字符串比较。这是代码在CLion中的外观;请注意错误弹出框:
底部还附加了编译时的错误输出。因为我在Windows10上使用的是JetBrains CLion,所以GTest必须使用"MinGW Makefiles“CMake生成器,然后是MinGW生成器(而不是CMake默认的Visual Studio生成器)。此外,我能找到的唯一可用的源码是最新的分支;它在2016年11月发布的最新版本不会基于MinGW中的GTest。
In file included from
我正在使用googlegtest进行测试,但是在编译时,我会出现以下错误。
/gtest-printers.h:389:55: error: no member named 'u8string' in namespace 'std' GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(char8_t, ::std::u8string);
/home/googletest/googletest/include/gtest/gtest-printers.h:379:40: note: expanded from macro 'GTES
我试着学习一些在Eclipse中使用google测试的教程。我创建了一个名为unit_test的项目。似乎一切都很好。我可以成功地完成这个项目。但是,在二进制文件文件夹中没有生成任何内容。我用Eclipse在Mac上,和十字GCC工具链。下面是我构建该项目时的日志:
make all
Building file: ../test/gtest_main.cpp
Invoking: Cross G++ Compiler
g++ -I"/Users/kien/workspaceCPP/unit_test/include" -I"/Users/kien/workspaceCP
通常的构建设置为: git clone https://github.com/google/googletest
cd googletest
mkdir build
cd build
cmake ..
make
make install 没有起作用。macOS Mojave 10.14.6.在“make”步骤中获取生成错误。 /googletest-master/googletest/include/gtest/internal/gtest-port.h:844:12: error:
no member named 'make_tuple' in nam
我对makefile非常不熟悉,正在尝试弄清楚如何在项目中设置googletest和makefile。如何将项目中可以在其他目录中找到的所有源文件和头文件导入到makefile构建中,以便我可以访问测试文件中的头文件?
该结构如下所示
project_root/
commons/core/{lots of files}
commons/backends/{lots of files}
os/core/{lots of files}
public/os/{lots of files}
我是c++和制作文件的新手。我目前正在尝试做一个反复试验的makefile,但是我被卡住了。这是我的makefile的副本。
# SYNOPSIS:
#
# make TARGET - makes the given target.
# make clean - removes all files generated by make.
# Please tweak the following variable definitions as needed by your
# project, except GTEST_HEADERS, which you can use in you
我正试图为未来的项目设置一个模板文件夹。我将在我的单元测试中加入谷歌测试。我的问题是我的makefile没有做我期望的事情。任何帮助都是非常感谢的!
以下是我的项目结构:
project_root Makefile /test <-- contains google test files /src <-- my cpp files
这是我的Makefile:
# Google Test location
GTEST_DIR = test
# Where to find user code.
USER_DIR = src
# Flags passed t
当我编译traingl e_test.cpp程序时,当gtest.h头文件包含在文件中时,我会得到以下错误。
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\gtest\gtest-message.h:55:0,
from c:\mingw\lib\gcc\mingw32\6.3.0\include\gtest\gtest-assertion-result.h:46,
from c:\mingw\lib\gcc\mingw32\6.3.0\include
我正在尝试使用Qt Creator和MinGW 64位工具包在Windows10中构建yaml-cpp。我使用的是yaml-cpp-master存储库,如果有人想知道的话。
当我尝试在Qt Creator中构建它时,我得到了这个错误:
C:\Program Files\CMake\share\cmake-3.16\Modules\CMakeMinGWFindMake.cmake:12: error: sh.exe was found in your PATH, here: C:/devkitPro/msys/bin/sh.exe For MinGW make to work correctly
我最近安装了gtest,并尝试制作一个简单的"helloworld“类型的测试。但是,在运行g++时,我在gtest内部文件中遇到了编译问题:
g++ -std=c++11 tests.cpp -I /usr/local/include -lgtest -lpthread
In file included from tests.cpp:1:
In file included from /usr/local/include/gtest/gtest.h:60:
In file included from /usr/local/include/gtest/gtest-death-test.