【发布时间】:2014-02-26 10:49:19
【问题描述】:
对于 linux,我使用以下 cmake 规则来构建和链接为我的库 (bt_lib) 运行单元测试的可执行文件:
set(TEST_EXECUTABLE unit_tests)
include_directories(
$ENV{GMOCK_ROOT}/include
$ENV{GMOCK_ROOT}
$ENV{GMOCK_ROOT}/gtest
$ENV{GMOCK_ROOT}/gtest/include
)
add_executable(${TEST_EXECUTABLE} test1.cpp ../${PROJECT_H})
target_link_libraries(${TEST_EXECUTABLE}
bt_lib
gtest
gtest_main
pthread
gmock
)
CMake 生成 Visual Studio 项目文件,我可以毫无问题地构建我的库和 gmock/gtest。但实际测试需要 pthread,这在 windows 上是不可用的。
如果我在 Windows 上,我可以检查我正在为哪个操作系统配置并将 $TEST_EXECUTABLE 链接到 pthread 以外的其他东西吗?如果有,怎么做?
我必须补充一点,我是 windows 上大多数 c++ 的初学者,所以即使是相当琐碎的事情也需要解释。我认为使用 Visual Studio 是我想要的方式(而不是像 http://www.mingw.org/ 这样的方式)。
【问题讨论】:
-
您可能对docs.biicode.com/examples/google-test-tutorial.html 中的解决方案感兴趣,我在Visual2008-2010 和Mingw 中都尝试过,并且效果很好。基本上,他们使用 CMake 在您的项目中自动检索和配置 googletest。还有Gmock库,强悍我还没测试过。
标签: c++ visual-studio-2012 cmake googletest