LNK4001 在构建 Python 扩展时仍然提供 obj 文件?
Posted
技术标签:
【中文标题】LNK4001 在构建 Python 扩展时仍然提供 obj 文件?【英文标题】:LNK4001 while still supplying obj files when building Python extension? 【发布时间】:2014-10-02 21:42:29 【问题描述】:我正在将我的 C Python 扩展移植到 Python 3(.4.1) 和 Windows 7。我安装了 Windows 7.1 SDK(包括 VS 2010 工具链),并且出现了似乎不正确的链接器错误。我已将整个构建过程包含在随附的屏幕截图中。
LNK4001 警告在没有指定 .obj 文件时出现,但它们在命令行中清晰可见。 LNK1159 在未提供输出文件时发生,但 /OUT:... 在命令行中清晰可见。谢谢!
【问题讨论】:
尝试从路径中删除最后的 '\',即代替 "c:\python34\lib\",尝试 "c:\pythone34\lib"。 这些路径是由 python 自动添加的,但强制删除它们似乎没有帮助。 更正,删除这些路径确实有帮助。我将在此处发布官方答案以供将来参考。谢谢! 【参考方案1】:按照 Houssam 的建议,从 Windows SDK 路径中删除尾随“\”修复了它。
【讨论】:
以上是关于LNK4001 在构建 Python 扩展时仍然提供 obj 文件?的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows (VC90) 中使用 C 绑定构建 Python 包导致 LNK1181 致命错误
致命错误LNK1107:文件无效或损坏:无法读取0x21E00D
使用 Qt 和 Cuda for Python 构建 OpenCV,在 build_all cmake 目标上运行到 LNK2019