使用 C++ 模块链接到 Visual Studio 可执行项目以进行单元测试?

问题描述 投票:0回答:1

Microsoft 文档此处 描述了如何在 Visual Studio 中创建单元测试项目并将其连接到可执行项目,以便对该可执行项目中的代码进行单元测试。

我的问题是我正在尝试使用 C++20 模块,但指令似乎不起作用。在我的测试项目中,我有:

import std;
import test_kit;     // My unit testing framework.
import my.app.foo;   // This module is in the executable project that I want to test.

我收到错误:

C2230 could not find module 'my.app.foo'

按照上面链接的文档,我添加到测试项目的链接器属性下的“附加库目录”和“附加依赖项”。这指向应用程序项目的构建目录,并列出包含我要测试的代码的

.obj
文件 (
Foo.ixx.obj
)。我还尝试添加“其他 BMI 目录”(同一构建目录)和“其他模块依赖项”。在后者中,我列出了文件
Foo.ixx.ifc
,我认为该文件将包含我要测试的模块的 BMI。

我还能做些什么来消除该错误吗?

c++ visual-studio unit-testing c++-modules
1个回答
0
投票

如果 Foo.ixx.obj 包含模块 my.app.foo,

和“其他模块依赖项”,在后者中我列出了文件 Foo.ixx.ifc

选项附加模块依赖项是

[module_name]=path

 my.app.foo=XXX\XXX\Foo.ixx.ifc
© www.soinside.com 2019 - 2024. All rights reserved.