【发布时间】:2016-07-04 08:13:46
【问题描述】:
我收到一个链接器错误,表明链接器无法打开文件(静态库),因此它失败了。我很难解决这个错误,因为我从来没有告诉链接器链接到它无法打开的文件。
我告诉链接器链接到几个静态库。我链接的许多库都是 wxWidgets 静态库。我不需要来自 wxWidgets 的所有模块,所以有一些我正在链接,而很多我没有。链接器无法打开的文件是“wxbase31ud_net.lib”。就像我说的那样,该文件不在我要链接的库中。我的直接想法是,这种依赖关系是以某种方式隐式引入的,可能是由我链接到的 wxwidgets 库之一。我不认为静态链接以这种方式工作,但我没有任何其他想法。我一直在调查这种可能性,但没有发现任何迹象表明情况确实如此。
- 我将构建输出详细程度设置为最大,并且在报告错误之前从未在任何地方提及“wxbase31ud_net.lib”。
- 我在我的 cmake 项目中确认,相关文件从未从 FindWxWidgets 模块传回给我,也从未在我与目标关联的任何文件列表中引用。
- 我用 grep 搜索了整个项目目录,并没有发现任何地方对该文件的引用,包括 cmake 生成的项目文件(Visual Studio 项目文件)。
什么可能导致链接器尝试打开此文件?
编辑:另外,需要明确的是,我看到的错误是LNK1104
【问题讨论】:
标签: visual-c++ linker static-libraries wxwidgets static-linking