【问题标题】:Hidden (missing) library dependency, when linking with cl.exe与 cl.exe 链接时隐藏(缺少)库依赖项
【发布时间】:2014-06-04 07:09:10
【问题描述】:

我刚刚接触了一个基于 CMake/Eclipse 的大型 C++ 项目。构建目标之一是基于 Windows/nmake。在构建可执行文件的最后一步,链接器抛出 LNK1104: cannot open file 'python27.lib'。这是正确的,因为尚未安装 Python 2.7。

问题是,我在 cl.exe 的命令行中找不到对该库的任何引用。此外,对整个项目目录(包括 eclipses .metadata 目录)的 grep 也找不到任何合理的东西。删除所有 cmake 生成的构建内容也无济于事。

真正的问题是,基于 MSVC 的库(导入或静态库)是否有任何机制在链接步骤中隐式请求其他库。提到的项目中有一些预编译的。我只需要词汇表,从哪里开始对错误原因进行更合格的搜索。

【问题讨论】:

    标签: eclipse visual-c++ linker cmake cl


    【解决方案1】:

    我在这里找到了答案:

    Puzzling dependency of Boost.Python 1.54 (debug build) to Python27.lib on Windows

    基本上,罪魁祸首是 boost 库中的 #pragma comment() 指令。

    【讨论】:

      猜你喜欢
      • 2013-10-11
      • 2012-10-17
      • 2017-12-25
      • 2015-04-18
      • 2020-03-24
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多