与cl.exe链接时隐藏(缺少)库依赖项

时间:2014-06-04 07:09:10

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

我刚接触过一个基于CMake / Eclipse的大型非常简单的C ++项目。其中一个构建目标是基于Windows / nmake。在构建可执行文件的最后一步中,链接器抛出LNK1104:无法打开文件' python27.lib'。这是正确的,因为Python 2.7还没有安装。

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

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

1 个答案:

答案 0 :(得分:0)

我在这里找到了答案:

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

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