【问题标题】:What are the differences between Visual Studio command line (devenv) and IDE builds?Visual Studio 命令行 (devenv) 和 IDE 构建有什么区别?
【发布时间】:2017-12-11 11:51:43
【问题描述】:

我正在尝试使用来自 Python 源的标准工具集 (v100) 构建 Python 2.7 核心 dll,包括一些用于 VS2010 的标准模块:

https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz

在为外部库提供本地版本(最初,这些是在构建期间使用 svn 调用请求)并调整属性文件以使用正确的 v100 工具集之后,IDE 可以构建正确的 python dll,以及 pyd 和使用提供的 pcbuild.sln 为我的用例(x64 调试和发布版本)提供提到的外部项目(sqlite、openssl 等)的 dll。

但这不适用于使用 devenv.com/.exe 构建的命令行。我知道,msbuild 会产生差异,但我从来没有听说过像我这样的 devenv 调用(总是来自同一个干净的源代码树,提前调用正确的vcvarsall.bat amd64):

devenv pcbuild.sln /Build "Relase|x64"

python27.dll 将被创建,但几乎所有额外的外部库都不存在,部分不存在(没有 pyd)或以完全不同的方式打包(例如,sqlite 的导出位于文件 python.dll 中) ,从 IDE 构建时不会创建)。

有人知道一般解释这些差异的文档吗?此刻,我什至不知道从哪里开始,以便分析问题(除了为 devenv 调用生成带有/out 的日志文件)。

【问题讨论】:

    标签: python-2.7 visual-studio-2010 msbuild devenv


    【解决方案1】:

    在以交互方式更改 devenv 调用后,打开的解决方案文件将所有项目重命名为“python”。

    罪魁祸首是调用批处理文件,将环境变量 PROJECTNAME 定义为“python”。显然,这会与 VS 宏 $(ProjectName) 发生冲突。

    【讨论】:

      猜你喜欢
      • 2017-08-06
      • 2011-03-27
      • 2020-02-21
      • 2012-06-17
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2022-01-03
      相关资源
      最近更新 更多