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

发布于 2024-12-29 13:29:15 字数 1777 浏览 0 评论 0原文

我有一个 Qt 项目,我想使用 google 测试框架 GoogleTestFramework 来执行 google测试。该框架在 Linux 上编译良好。

我已经使用以下链接中提供的提示成功地在 Windows 上编译了库: 在没有 pthreads 的情况下安装 Gtest

以下建议不允许我编译库,因为由于 pthreads 导致的错误: 使用 MSYS 进行 Sackoverflow 编译

我有:

  • 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

I have a Qt project and i wanted to use google tests framework GoogleTestFramework in order to do google test. The framework compiled fine on Linux.

I have managed to compile the libraries on windows, using tips provided in the following link:
Installing Gtest without pthreads

The following advice do not let me compile the libraries, because of errors due to pthreads:
Sackoverflow compiling with MSYS

I have :

  • 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

When i try to compile my test projet, i get an error saying:
undefined reference to '__chkstk_ms'
File not found: gtest-all.cc

Here is my qmake project code (I have semplified the code).

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉风有信 2025-01-05 13:29:15

对于在 Windows 中进行编译,Google 建议执行以下操作

### Windows Requirements ###

  * Microsoft Visual C++ 7.1 or newer

### Cygwin Requirements ###

  * Cygwin 1.5.25-14 or newer

:听说有人使用 MingW 来编译这个。据称,使用 MingW 进行编译可能会更快一点,因为操作系统和应用程序之间不需要有可比较层。

但是,由于这仅用于开发测试目的,Cygwin 应该足够了。只需下载 Google 推荐的版本即可。


另请参阅:

在 Eclipse 中编译 Cygwin 项目

Cygwin 与 MingW 在将 Linux 应用程序移植到 Windows 方面的比较

Google recommends the following for compiling in Windows:

### Windows Requirements ###

  * Microsoft Visual C++ 7.1 or newer

### Cygwin Requirements ###

  * Cygwin 1.5.25-14 or newer

I've heard of some people using MingW for compiling this. Supposedly compiling with MingW can be a little faster because there doesn't need to be a comparability layer between the OS and the application.

But, since this is just for dev testing purposes Cygwin should suffice. Just download the version that Google recommends.


See Also:

Compile Cygwin project in Eclipse

How Cygwin compares to MingW for porting Linux applications to Windows

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文