如何创建提供C++20模块的Visual Studio DLL项目?

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

我想在 Visual Studio 解决方案下创建两个 C++ 项目。其中之一是带有一些可重用代码的 DLL 项目。另一个是使用 DLL 的简单命令行项目。我还想使用 C++ 模块。我已经在静态库项目中成功完成了此操作,但在共享库项目中却失败了。

我创建了DLL项目,将其语言级别设置为

/std:c++latest
,并编写了一些简单的模块代码。它编译。我还在项目属性中关闭了预编译头。

export module test_kit;
...

我的模块的名称恰好是

test_kit
。 (用于单元测试。)

现在在我的第二个项目(命令行应用程序)中,我对第一个项目有了“参考”,并编写了一些代码:

import test_kit;
int main() { ... }

我得到:

error C2230: could not find module 'test_kit'

对于静态库,只需将一个项目的引用添加到静态库项目就足够了。我需要在这里做什么才能将其全部链接到 DLL 项目?

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

确保 dll 项目已更新。

控制台项目:

项目属性 -> C++ -> 命令行选项 -> 添加

/reference  "path to DLL project\x64\Debug\test_kit.ixx.ifc"

链接器 -> 输入 ->

"path to DLL project\x64\Debug\test_kit.ixx.obj"

© www.soinside.com 2019 - 2024. All rights reserved.