具有静态lib依赖性的LNK2019错误

时间:2014-04-07 13:21:34

标签: c static-linking lnk2019

我的一个项目中存在一个链接问题,该项目在Visual Sutdio 2013项目中包含一个exe和几个静态库。

可执行文件名是exec.library,依赖于几个静态库(intuition.library和graphics.libray等等)。 Intuition.library调用graphics.library中的函数,当然,exec.library调用graphics.library和intuition.library中的函数。

这个小小的图画将有助于理解相互依存关系:

              +------+
      +-------+ exec +-----+
      |       +------+     |
      |                    |
      |                    |
 +----v------+       +-----v----+
 | intuition +-------> graphics |
 +-----------+       +----------+

我有以下(法国)错误:

1> intuition.library.lib(OpenScreen.obj):错误LNK2019:symbole externenonrésolu_ScreenToFrontréférencédansla fonction _OpenScreen 1> D:\ dev \ MimicOS \ SysCore \ Debug \ kernel.exe:致命错误LNK1120:1 externesnonrésolus

ScreenToFront()和OpenScreen()函数来自intuition.library。当我编译intuition.library和graphics.library时,一切都很好。 另一方面,当我编译exec.library(使用直觉和图形库)时,我有这个错误。令人困惑的是,这两个函数派生自相同的静态库(intuition.library)......

据我所知,问题在于intuition.libray(静态库)和graphics.library(也是静态库)相互调用。

在我网上的无用搜索中,我发现了一些可能与之相关的文章: - http://blogs.msdn.com/b/vcblog/archive/2010/05/03/flexible-project-to-project-references.aspx - Unable to link my own static libraries

对于那些有勇气下载项目的人(500KB),一切都可以在这里找到:https://mimicos.codeplex.com/SourceControl/latest

有人会有想法吗?

0 个答案:

没有答案