gpt4 book ai didi

python - 使用 Visual Studio 2017 命令行痛饮和构建项目

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:24 27 4
gpt4 key购买 nike

我需要从 SWIG 生成的 .cxx 文件创建一个 .pyd。对于 VS2017 和命令行,我有点菜鸟,希望能得到一些帮助。

这是我到目前为止所做的:

Windows 的 SWIG 设置

1).下载anaconda(使用python 3.6 x64版本)

2).下载VS社区版

- installed all the c++ extensions

3).下载 FGDB API(windows 2017):

https://github.com/Esri/file-geodatabase-api/blob/master/FileGDB_API_1.5.1/FileGDB_API_1_5_1-VS2017.zip

4).设置 Python 环境变量:

PYTHON_INCLUDE: C:\ProgramData\Anaconda3\include

PYTHON_LIB: C:\ProgramData\Anaconda3\libs\python36.lib

5).下载并解压 Swig

6).添加 swig 路径到 PATH 环境变量

7).从 google hosting 或 github 下载 file-geodatabase-api 文件。 https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/file-geodatabase-api-python-wrapper/source-archive.zip

8).创建文件夹:C:\fgdb_code

  • 文件夹中应该有一个.i、.py和一个make文件

9).将第 7 步中的文件放入此文件夹

10).将步骤 #3 中的文件解压缩到步骤 #8 的文件夹中

c:\fgdb_code\FGDB

生成 .cxx 文件

11).以管理员身份打开命令行窗口(可能不需要管理员)

12).导航到 c:\fgdb_code 文件夹

13).运行:swig -python -IFGDB/include -c++ filegdbapi.i

This generates a .cxx file

``` 输出信息:

FGDB\include\Util.h(819) : Warning 312: Nested union not currently supported (ignored).
FGDB\include\Util.h(838) : Warning 312: Nested union not currently supported (ignored).
FGDB\include\Util.h(843) : Warning 312: Nested union not currently supported (ignored).
FGDB\include\Util.h(849) : Warning 312: Nested union not currently supported (ignored).
FGDB\include\Geodatabase.h(307) : Warning 503: Can't wrap 'FileGDBAPI::CreateGeodatabase' unless renamed to a valid identifier.
FGDB\include\Geodatabase.h(308) : Warning 503: Can't wrap 'FileGDBAPI::OpenGeodatabase' unless renamed to a valid identifier.
FGDB\include\Geodatabase.h(309) : Warning 503: Can't wrap 'FileGDBAPI::CloseGeodatabase' unless renamed to a valid identifier.
FGDB\include\Geodatabase.h(310) : Warning 503: Can't wrap 'FileGDBAPI::DeleteGeodatabase' unless renamed to a valid identifier.

```

从 VS 2017 生成 .pyd 文件

这是我卡住的地方。
我已经尝试创建一个新的 VS 项目来生成 DLL,但我似乎无法让界面正常工作(我发现 VS 工作室界面有点令人生畏)。有没有办法在不创建项目的情况下通过命令行执行此操作?如果是这样,有人可以就如何执行此操作提供一些指导吗?
我应该只需要 .i 和 .cxx 文件来编译代码。

更新从 VS 2017 生成 .pyd 文件

14).打开 Visual Studio

15).选择文件 -> 从现有代码

16).选择c++

17).输入以下内容:

- Project file location: folder from step #8

- project name: filegdbapi

- Check add files (should be checked by default)

- Click Next

18).对于项目类型:动态链接库(DLL)项目

19).按完成

20)。构建项目

失败:

1>------ Build started: Project: filegdbapi, Configuration: Release x64 ------
1>XSD : error : The CodeDom provider type "Microsoft.VisualC.CppCodeProvider, CppCodeProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" could not be located.
1>
1>If you would like more help, please type "xsd /?".
1>Done building project "filegdbapi.vcxproj" -- FAILED.

谢谢

最佳答案

库与您的 Visual Studio 版本不兼容

关于python - 使用 Visual Studio 2017 命令行痛饮和构建项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45936636/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com