我刚接触过一个基于CMake / Eclipse的大型非常简单的C ++项目。其中一个构建目标是基于Windows / nmake。在构建可执行文件的最后一步中,链接器抛出LNK1104:无法打开文件' python27.lib'。这是正确的,因为Python 2.7还没有安装。
问题是,我在cl.exe命令行中找不到对此库的任何引用。整个项目目录(包括eclipses .metadata目录)上的grep也找不到合理的东西。删除所有cmake生成的构建内容也没有帮助。
真正的问题是,如果基于MSVC的库(导入或静态库)有任何机制在链接步骤中隐含地请求其他库。在上述项目中有一些预编译的。我只需要词汇表,从哪里开始关于错误原因的更合格的搜索。
答案 0 :(得分:0)
我在这里找到了答案:
Puzzling dependency of Boost.Python 1.54 (debug build) to Python27.lib on Windows
基本上,罪魁祸首是boost库中的#pragma comment()
指令。