Code Blocks+gtest环境配置

本文仅介绍Code::Blocks+gtest环境配置,gtest具体使用方法请参考:
玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html

环境概要

  • Code::Blocks 13.12
  • Windows 8.1
  • gtest-1.7.0

说明

gtest是一个优秀的开源C++单元测试框架,详细介绍可以参考官方网站。由于某种原因需要在Windows下使用Code::Blocks进行C++开发,特将配置过程进行记录以备之后查阅。

下载安装Code::Blocks,官方网址是http://www.codeblocks.org/,我下载的是codeblocks-13.12mingw-setup.exe版本,由于Code::Blocks的安装比较简单,这里我就不多说了,相信大家看此文章的目的不是查阅Code::Blocks的安装说明。

下载gtest,官方网站是https://code.google.com/p/googletest/,我下的是gtest-1.7.0.zip版本,下载完成之后进行解压,我解压的目录是E:?gtest-1.7.0

下载安装CMake,CMake是跨平台的构建工具,官方网站是http://www.cmake.org,我下载的是cmake-3.2.1-win32-x86.exe,安装之后运行cmake-gui,配置源代码目录(之前解压的gtest目录)和要build到的目标目录。可以参考如下截图,但目录设置要根据自己的环境进行配置。

单击Configure,出现如下对话框,按照下图选择合适选项:

单击Finish,会在目标目录产生MinGW Makefiles,之后会出现下图:

选中gtest_disable_pthreads一项,单击Generate,即会产生Code::Blocks工程文件(.cbp)。
用Code::Blocks打开该文件,直接进行编译,会在目标目录产生两个库文件:

  • libgtest.a
  • libgtest_main.a

此时gtest的编译工作就完成了,用Code::Blocks新建工程目录gtest,在maim.h中写入如下代码:

#include<cstdio>
#include<gtest/gtest.h>
int add(int a, int b)
{
    return a+b;
}
TEST(addtest, HandleNoneZeroInput)
{
    EXPECT_EQ(14, add(4, 10));
    EXPECT_EQ(-2, add(-3, 1));
}
int main(int argc, char *argv[])
{
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
    return 0;
}

将gtest源代码目录中的include中的文件拷贝到工程目录中的include文件夹中,将之前build生成的两个文件拷贝到工程目录中的lib文件夹中。右键project,选择Build options...,在Linker settings > Other linker options下填写-lgtest。点击选项卡Search directories,在Compiler子选项卡中Add一项,加入include目录,在Linker子选项卡中Add一项,加入lib目录。点击OK

此时build工程如果成功会出现以下结果:

如果工程中想使用C++11的新特征,得用命令行参数-std=gnu++11,而不是-std=c++11。具体做法是右键project,选择Build options...,清除Compiler settings > Compile Flags下与-std=有关的复选框,点击选项卡Compiler settings > Other options,在对话框中填写-std=gnu++11。如果直接使用-std=c++11等选项会出现以下错误:

include/gtest/internal/gtest-port.h: In function 'int testing::internal::posix::StrCaseCmp(const char*, const char*)':
include/gtest/internal/gtest-port.h:1719:25: error: '_stricmp' was not declared in this scope
include/gtest/internal/gtest-port.h: In function 'char* testing::internal::posix::StrDup(const char*)':
include/gtest/internal/gtest-port.h:1721:58: error: '_strdup' was not declared in this scope
include/gtest/internal/gtest-port.h: In function 'int testing::internal::posix::FileNo(FILE*)':
include/gtest/internal/gtest-port.h:1729:52: error: '_fileno' was not declared in this scope
include/gtest/internal/gtest-port.h: In function 'FILE* testing::internal::posix::FDOpen(int, const char*)':
include/gtest/internal/gtest-port.h:1779:71: error: 'fdopen' was not declared in this scope

另外,如果你的project的build option中已经清除Compiler settings > Compile Flags下与-std=有关的复选框,但还是出现这个问题,可能原因是你的global设置有问题,你可以查看Settings->Complier选项卡是否也设置正确,如果没有请正确设置。

原文地址:https://www.cnblogs.com/jiangxinnju/p/10163312.html

时间: 2024-08-13 16:42:45

Code Blocks+gtest环境配置的相关文章

win7下code::blocks开发环境

一.环境配置步骤: 下载安装code::blocks; 下载安装MinGW; 在complier settings中, Toolchain executables选择MinGW的安装路径. 完成安装. 二.所需工具下载: code::blocks:百度codeblocks下载应用: MinGW:下载链接.

code blocks主题颜色配置

添加配置文件 注意:在添加这些自定义配置文件之前一定要先将之前的文件配置备份! 在添加时一定要确保Code::Blocks**没有**在运行!下载下面的文件,并将其添加到C:\Users\<你的用户名>\AppData\Roaming\CodeBlocks\(覆盖以前的配置文件).  设置主题 添加好配置文件之后,运行Code::Blocks.打开setting->Editor->Syntax highlighting->colour theme,这时你就可以根据个人的品味来

利用Code::Blocks搭建64位C++开发平台

0.前言 随着64位计算机的普及,编写64位程序成为程序员基本的要求.我在<体验Code::Blocks下的C++编程>中描述了利用Code::Blocks官方提供的封装了编译器的安装包(codeblocks-17.12mingw-setup.exe)搭建开发环境编写C++程序的方法.但是,官方提供的安装包中的编译器是32位的,只能用于开发32位程序.如果你想开发64位的程序,就必须自己安装另外的编译器,而不是使用原来在安装包里的. 下面,我就介绍一下利用Code::Blocks搭建64位C+

使用Code::Blocks配置Python编译环境

1.先在CodeBlock中新建C或C++工程,因为在Project下才可调试代码. CodeBlock新建工程步骤:File——New——Project——Console applications——C或C++都可——Project所在路径(不可使用中文路径!) 2.工程目录下 main.c 改成 *.py 文件,本文改成test.py. 3.单击菜单栏Tools——Configure tools——Add按钮,出现Edit Tool页面,在此配置Python编译选项. 4.单击Setting

【Code::Blocks】windows 环境下编译 Code::Blocks(已修正)

Code::Blocks 在2012-11-25发布了最新的12.11版本,相比上一个版本(10.05),Code::Blocks 进行了许多改进和更新(Change log). 引用 Wikipedia:Code::Blocks: Code::Blocks是一个免费.开源.跨平台的IDE,使用C++开发,并且使用wxWidgets做为GUI函式库.Code::Blocks使用了插件架构,其功能可以使用插件自由地扩充.目前, Code::Blocks主要针对开发C/C++程式而设计. Code:

Code::Blocks配置GTK+2和GTK+3

Code::Blocks配置GTK+2和GTK+3 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据General Public License,v3 发布 GPLv3 许可证的副本可以在这里获得:http://www.gnu.org/licenses/gpl.html 本文档根据GNU Free Documentation License 1.3发布 GFDL1.3许可证的副本可以在这里获得:http:

Code::Blocks项目配置基础

File 菜单 New :新建( Empty file/file . class . project . build target ) . Recent projects/files :最近打开的项目 / 文件 . Import projects : Dev-C++ Project . VC6 dsw/dsp . VC8 vcproj/sln . Ctrl+Shift+S : Save all files . Save workspace (as) :将多个项目组织成一个工作空间,类似 VC 的

code::blocks配置头文件#include&lt;bits/stdc++.h&gt;

万用头文件#include<bits/stdc++.h>,包含了<queue>,<vector>,<string>,<algorithm>,<iostream>等等各个竞赛中常用或不常用的头文件,可谓省时省力,竞速必备.如今已被大部分oj所支持.面试时大部分的判题系统也亲测可用.但有的编译器却不能够使用这个头文件.本文以code::blocks为例,教大家配置此头文件 1.寻找code::blocks的gnu gcc编译环境 sett

VC++6.0 IDE的工程用Code::Blocks来打开、编译、调试终极配置方案

引子:竟然可以用Code::Blocks来打开.编译.调试VC 6.0的项目,感觉很神奇,通过配置也让我们更进一步了解VC++ 6.0的编译器,连接器,调试器.好多兄弟问到要是能支持最新的VS2008和VS2010就好了,其实Code::Blocks已经配置好我们习惯的编译器的IDE环境了,假如我们用VS2003---VS2010,都可以不用配置了.只是因为VC++6.0的不在默认之列,所以才摸索出一套切实可行的方案出来.才先截个图给大家看看Code::Blocks支持和已经配置好的编译器支持列