繁体   English   中英

在Visual Studio 2005中生成使用其他DLL的DLL

[英]Building DLLs that use other DLLs in Visual Studio 2005

我正在尝试并行化Visual Studio 2005中的构建过程,以利用我们的多核硬件。 简化一点,我有两个DLL和一个应用程序。 DLL A没有依赖关系。 DLL B使用DLL A中定义的某些功能。应用程序使用在两者中定义的功能。

我认为我应该能够并行构建A和B,因为在链接应用程序之前不需要解析符号。 但是,当我删除DLL B对A的项目依赖项时,出现如下错误:

YFindReplaceWidget.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual unsigned long __thiscall CORBBaseComponent::GetRefCount(void)const " (__imp_?GetRefCount@CORBBaseComponent@@UBEKXZ)

有没有办法解决这些错误,以便我可以并行构建这些DLL?

那是一个非常奇怪的思维模式。 DLL不过是具有不同扩展名的EXE而已,它们需要完全的链接信息才能构建。

只要您的构建是这样的链(app-> b-> a),它们就不能并行构建。

Microsoft在VS2008中正式引入了多处理器内置选项。 它将允许构建为同一项目启动多个编译器。 简单的解决方案是升级到Visual Studio的最新版本。

如果您坚持使用VS2005,那么实际上也可以在VS2005上使用它,但没有官方支持。 只需添加/ MP作为其他编译器选项即可。

http://blog.280z28.org/archives/2007/10/17/ (建议您不要在构建服务器上使用它)

http://msdn.microsoft.com/en-us/library/bb385193.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM