使用Mingw编译器编译google测试框架

时间:2012-01-26 18:21:15

标签: windows qt mingw googletest

我有一个Qt项目,我想使用谷歌测试框架GoogleTestFramework来进行谷歌测试。该框架在Linux上编译得很好。

我已经设法在Windows上编译库,使用以下链接中提供的提示: Installing Gtest without pthreads

以下建议不允许我编译库,因为pthreads导致错误: Sackoverflow compiling with MSYS

我有:

  • GNU Make 3.81 for make.exe
  • GNU Make 3.82 for mingw32-make
  • CMake 2.8.7
  • QT 4.7.4
  • Qt MingW gcc v 4.4.0

当我尝试编译我的测试项目时,我收到一条错误消息:     未定义的引用'__chkstk_ms'     找不到档案:gtest-all.cc

这是我的qmake项目代码(我已经简化了代码)。

QT       += core gui

DEPENDPATH += . headers src ../FastTrans/headers ../FastTrans/src ../FastTrans/forms      C:/MinGW/msys/1.0/home/zakharan/gtest-1.6.0/include
INCLUDEPATH += . headers src ../FastTrans/headers ../FastTrans/src ../FastTrans/forms     C:/MinGW/msys/1.0/home/zakharan/gtest-1.6.0/include

TARGET = tstall
#CONFIG   += console
#CONFIG   -= app_bundle

TEMPLATE = app

HEADERS += ../FastTrans/headers/shortcutsactionsitem.h \
../FastTrans/headers/shortcutsactionsmodel.h \
../FastTrans/headers/isavesettings.h

SOURCES += ../FastTrans/src/shortcutsactionsitem.cpp \
../FastTrans/src/shortcutsactionsmodel.cpp \
../FastTrans/src/isavesettings.cpp \
src/tstshortcutsactionsitem.cpp \
src/tstshortcutsactionmodel.cpp

INCLUDEPATH += $$PWD/
DEPENDPATH += $$PWD/

win32: LIBS += C:/MinGW/msys/1.0/home/zakharan/gtest-1.6.0/mybuid/libgtest.a
win32: LIBS += C:/MinGW/msys/1.0/home/zakharan/gtest-1.6.0/mybuid/libgtest_main.a

1 个答案:

答案 0 :(得分:0)

Google建议compiling in Windows使用以下内容:

### Windows Requirements ###

  * Microsoft Visual C++ 7.1 or newer

### Cygwin Requirements ###

  * Cygwin 1.5.25-14 or newer

我听说有些人使用MingW进行编译。据称使用MingW进行编译可能会快一些,因为不需要在操作系统和应用程序之间建立可比性层。

但是,因为这只是用于开发测试的目的,Cygwin就足够了。只需下载Google推荐的版本。


另见:

Compile Cygwin project in Eclipse

How Cygwin compares to MingW for porting Linux applications to Windows