gpt4 book ai didi

c++ - 如何在 Visual Studio 中测试已编译的 DLL(或生成多个可执行文件)?

转载 作者:行者123 更新时间:2023-11-28 05:00:25 25 4
gpt4 key购买 nike

我正在开发一个需要定期测试和分析的共享库。主要目标平台是 Linux(通常),因此我们的团队为构建系统选择了 autotools (auto[scan,conf,make] + libtool + pkg-config)。然后客户决定他也想在 Windows 上使用他的软件。所以我添加了一个 visual studio 解决方案。该库在 Windows 上也能编译、链接和运行良好,尽管我的开发周期缺乏在 Windows 上的适当测试。

我在 Linux 上使用 automake 的测试套件并像这样测试:

make check -j2

它编译 10 个可执行文件(客户端服务器对),这些文件链接到我的库(已经构建在相同的构建系统上)并运行它们(成对,有序)。输出是:

make[3]: Entering directory 'somefakepath/libfoo/test'
PASS: tcp_client
PASS: tcp_server
PASS: tcp_client_control
PASS: tcp_server_control
PASS: udp_client
PASS: udp_server
PASS: udp_client_raw
PASS: udp_server_raw
SKIP: udp_client_rtp
SKIP: udp_server_rtp

========================================================
Testsuite summary for libfoo 5.0.1
========================================================
# TOTAL: 10
# PASS: 8
# SKIP: 2
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
========================================================

问题是我找不到在 Visual Studio 中执行相同操作的方法。我可以在解决方案中添加另一个项目(以生成可执行文件而不是库),但据我所知,不可能从 visual studio 中的单个项目生成多个可执行文件 [1] , [2] .添加十个项目感觉不对,许多配置参数为每个项目设置相同的值......而且选择具有多个线程的单个可执行文件也不是很好(我将不得不改变很多行,合并许多 [=10] 个文件)。

那么我如何在 visual studio 上测试我的库呢?或者从单个项目中的多个文件生成多个可执行文件? (我可以手动运行它们)

最佳答案

如果您的可执行文件之间的唯一区别是一些条件编译宏,那么您应该创建一个具有多个配置的单个可执行项目(即 udp_client_raw 配置,udp_server_raw 配置等)。如果它们在某些其他方面有所不同,您可能仍需要创建单独的项目。请注意,无需将许多配置参数设置为相同的值 - 您可以制作一次属性表,然后将其附加到所有项目。

从一个项目中生成多个可执行文件没有问题。您只需要使用 Visual Studio 中的批处理构建或使用命令行中的 msbuild 一次构建多个配置。也可以设置一个项目,将它们成对启动以进行测试。

关于c++ - 如何在 Visual Studio 中测试已编译的 DLL(或生成多个可执行文件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46169216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com