2013-12-09 35 views
0

我正在寻找一种方法来单元测试我的C++应用程序链接到可执行文件。我正在使用googletest,我需要将测试可执行文件链接到测试中的二进制文件以测试该二进制文件。在我的情况下,二进制测试是一个可执行文件。在Windows上,我可以为测试的可执行文件创建一个导入库,并将测试可执行文件与它链接起来。只要我不从被测试的二进制文件中导出主函数,它就可以正常工作。 但是在Linux上我无法做到这一点。当直接与被测试的可执行文件链接时,由于有两个主要功能,一个在被测试的可执行文件和一个在测试可执行文件中,所以链接失败我不知道有什么方法可以在Linux上创建导入库并与之链接。在Linux上为可执行文件创建导入库

我知道我可以将我测试过的可执行文件分成一个共享库,其中包含所有的功能以及一个只包含主功能的小型可执行文件。测试程序将与共享库链接。但这是我真正不想做的事情,因为我有超过20个这样的可执行文件需要测试,并将它们分成共享库和可执行文件需要很长的时间。

另一种可能性是将测试的源代码添加到测试项目中,但接下来测试的源代码将被编译两次,这是由于构建时间过长而无法承受的。

所以我想弄清楚是否可以在Linux上做类似于我在Windows上完成的事情。

预先感谢您。

+2

号不要编译成主共享库。你还期望什么其他答案? –

回答

0

我想弄清楚是否有可能在Linux上做类似于我在Windows上做的事情。

相关问题