python - 在 Visual Studio 2017 中使用 c++ 组件构建 python 解决方案的问题
问题描述
我尝试使用 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。我正在使用窗口 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?
有任何想法吗?谢谢你。
解决方案
官方文档的这一部分详细描述了如何配置 C++ 项目,但简短的回答是:
- 在解决方案资源管理器中右键单击 C++ 项目并选择属性
- 从下拉列表中选择“所有配置”和“所有平台”(或者当为 64 位和 32 位输入不同的值时,只需选择您想要的平台)
- 展开 C/C++、General 并修改“Additional Include Directories”以拥有该
include
目录 - 展开 Linker,General 并修改“Additional Library Directories”以拥有该
libs
目录
对于您正在使用的项目,它可能正在查看环境变量。设置这些的另一种方法是从“开始”中打开“{Visual Studio 版本} 的开发人员命令提示符”,键入set PYTHON_INCLUDE=<path>
,set PYTHON_LIB=<path>
然后devenv
启动 Visual Studio。
推荐阅读
- php - 如何在我键入时通过 Jquery Ajax 将输入文本中的值传递给 php 函数?WordPress
- javascript - 如何使用 javascript 渲染 jinja 或 jinja2 模板
- java - 尝试将数据发送到网络服务器时,我的 android 应用程序崩溃
- angularjs - 如何在 Yii2 / Angular 中将 hashUrl 设置为模块的 defaultRoute
- c# - 如何使用 Microsoft.Office.Interop.Outlook 库使用 C# 读取 .eml 文件?
- python - readlines 产生一个空列表 Python
- react-native - detox - assembleAndroidTest 错误
- sails.js - Sails JS 通过策略请求验证
- c# - 如何将整数或十进制数插入openxml单元格
- html - select2 所需的选择器