【发布时间】:2012-08-23 07:22:05
【问题描述】:
在使用 Boost.Test 时,通常不需要定义 main() 函数,因为 Boost.Test 自己提供了一个。
我最近不得不将我的项目转换为使用 3rd 方库的静态链接(在 VS2010 上)。自然地,我必须链接到多个.libs 以便构建成功,并且我的构建运行得很好。
但是,当我运行我的测试项目时,发生了一件非常奇怪的事情。似乎我的一个依赖库所需的第 3 方之一 .libs (libpng) 包含一个测试文件,其中定义了 main() 函数(pngtest.c,如果你必须知道的话)。
由于我的项目没有main() 函数,因此链接器选择了它作为我的“测试”应用程序。因此,我没有运行任何测试。
有人知道我如何防止这种情况发生吗?如何告诉链接器/编译器使用 Boost.Test main()?
【问题讨论】:
标签: main static-linking libpng boost-test