引用 MFC 的多个项目:"use mfc in a static library" vs "use mfc in a shared dll" ?



使用Visual Studio 2010 C++。我有一个使用MFC的项目,我正在静态链接到MFC。我正在尝试将非GUI功能提取到一个单独的静态库项目中。因为我想在我的库项目中使用CStrings(是否应该使用有争议,但为了便于讨论),我现在需要在库和exe项目中引用MFC。

我的问题是,如果我在我的库项目和exe项目中静态链接MFC,我会在我的最终exe中有效地链接两个MFC副本吗?如果我添加了第三个项目,这样我就有了多个引用mfc的库,该怎么办?这听起来很糟糕,但我不知道如何避开它。

您不需要链接库项目,因此不会有额外的MFC副本被链接进来。您将从静态库在MFC库上创建依赖项,但这很正常。只要.exe项目同时包含这两个库,最终一切都会好起来的。

最新更新