在 Visual Studio 2017 中使用 c++ 组件构建 python 解决方案的问题

Posted

技术标签:

【中文标题】在 Visual Studio 2017 中使用 c++ 组件构建 python 解决方案的问题【英文标题】:Problem building python solution with c++ component in Visual Studio 2017 【发布时间】:2018-09-17 01:34:37 【问题描述】:

我尝试使用 Visual Studio 2017 打开项目/解决方案 twslink2pt.sln(带有 c++ 组件的 Python 3.6 包装器),显示以下消息。

1>------ Build started: Project: twslink2pt, Configuration: Release Win32 
 ------
1>Performing Custom Build Tools
1>In order to function correctly, please ensure the following environment
   variables are correctly set:
1>PYTHON_INCLUDE:
1>PYTHON_LIB:
1>The system cannot find the path specified.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7   
  \IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006:    
  "cmd.exe" exited with code 3.
1>Done building project "twslink2pt.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

这个项目/解决方案 twslink2pt.sln 的安装与我的不同。我的 python.exe 与 Visual Studio 2017 一起安装,位于 C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64。我正在使用 Window 10。

我需要调整我的 python 安装以匹配 在项目中设置或调整项目以匹配我的python安装。

如何更改 Visual Studio 2017 中 c++ 设置中的包含路径以指向正确的库 (C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\include)?

对于链接,我需要 python36.lib。 python36.lib 位于 C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\libs 中。如何在 Visual Studio 2017 的链接中包含 python36.lib?

有什么想法吗?谢谢。

【问题讨论】:

【参考方案1】:

官方文档的This section详细描述了如何配置一个C++项目,但简短的回答是:

在解决方案资源管理器中右键单击 C++ 项目并选择属性 从下拉列表中选择“所有配置”和“所有平台”(或者当为 64 位和 32 位输入不同的值时,只需选择所需的平台) 扩展 C/C++,General 并修改“Additional Include Directories”以拥有include 目录 扩展链接器,常规并修改“附加库目录”以具有libs 目录

对于您正在使用的项目,它可能正在查看环境变量。另一种设置方法是从“开始”中打开“Visual Studio 版本 的开发人员命令提示符”,输入set PYTHON_INCLUDE=<path>set PYTHON_LIB=<path>,然后输入devenv 以启动Visual Studio。

【讨论】:

您好 Zooba,非常感谢。设置环境变量后,显示此消息 1>PYTHON_INCLUDE: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\include 1>PYTHON_LIB: C:\Program Files (x86)\Microsoft Visual Studio\Shared\ Python36_64\libs 1>系统找不到指定的路径。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006: "cmd.exe" exited with code 3 . 1>完成构建项目“twslink2pt.vcxproj” -- FAILED. 嗨 Zooba,非常感谢。不知道为什么 Visual Studio 找不到指定的路径。这两个文件都在那里,文件名是正确的。这是命令提示符的输出: C:\>cd C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\libs C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\libs>

以上是关于在 Visual Studio 2017 中使用 c++ 组件构建 python 解决方案的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Visual Studio 2013或Visual Studio 2017设置TFS 2013

在 Visual Studio 2017 中使用 64 位 Visual C++ 工具集

如何在 Visual Studio 2017 中使用 Qt 库?

在 Visual Studio 2017 中使用 CUDA

Visual Studio 2017工程在Visual Studio 2019打开碰到的问题

Visual Studio 2017工程在Visual Studio 2019打开碰到的问题