【发布时间】:2015-11-30 04:31:43
【问题描述】:
我正在尝试在 Windows 中使用 CppUTest,第一步是让它工作,但我已经遇到了问题。这些是我尝试过的事情:
第一种方法
使用 CMake,使用 cmake GUI 我可以执行配置和生成命令,并且在输出目录中得到一些东西,但没有二进制文件和库,只有一堆 cmakefile。 CMake GUI 说在配置和生成步骤期间一切正常,但是在输出目录中没有生成库(.lib 文件)......我有什么遗漏吗?我以前从未使用过 CMake。
第二种方法
单独使用 MinGW 和 msys,在 Windows 中运行 cmd 并通过在 Windows 终端中键入 sh 来执行 MinGW shell,然后执行以下命令:
cd <CppUTest folder>
mount c:\mingw /mingw
./autogen.sh
./configure
make
构建过程开始,但失败并显示一条消息,指出在 MinGW 目录中找不到 pthread.h。如果我使用 MinGW 包管理器安装 pthread-win32 包并重复与上述相同的步骤,则构建过程开始但失败并显示一条消息,指示结构 timespec 在 time.h 和 pthread.h 中定义。
我已经尝试在 CppUTest 3.6 中遵循相同的过程,它工作得非常好,我得到了 .lib 文件,所以我想我现在必须继续这样做。
有人知道如何使用 MinGW 或 CMake 构建 CppUTest 3.7(最新版本)吗?
【问题讨论】:
-
The CMake GUI says everything went OK during the configuration and generation steps- 这个 CMake 步骤在某种程度上等同于 autotools 中的./autogen.sh加上./configure。那么你应该像往常一样使用make。 -
我会在我下班的时候尝试一下......并在这里发布结果。
-
如果我在 CMake 的输出目录中使用 MinGw 中的 make.exe 或 mingw32-make.exe 它开始构建,但我得到相同的 pthread 缺失错误。有没有人设法使用 MinGW 构建 CppUTest 3.71?
-
谷歌搜索显示,Windows 下 MinGW 的 pthread 支持问题由来已久,尚未完全解决。参见,例如,this question。
-
好吧,我让它工作,至少构建。我下载了 MinGW 的 pthreads 包,我通过在 CppUTest 源代码中添加两行预处理器来处理 timespec 重新定义。在确认这个工作之前,我会尝试用 CppUTest 做一些事情。