Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

编译的引擎如何用Python API调用 #2010

Closed
DrRyanHuang opened this issue Jul 31, 2022 · 6 comments
Closed

编译的引擎如何用Python API调用 #2010

DrRyanHuang opened this issue Jul 31, 2022 · 6 comments
Assignees

Comments

@DrRyanHuang
Copy link

DrRyanHuang commented Jul 31, 2022

Hi, 非常感谢MNN的工作,很cool!!!!!!!!!!

我在windows平台编译了推理引擎,mnn版本是当前最新版,按照文档
https://www.yuque.com/mnn/cn/build_windows

cd /path/to/MNN
powershell # 运行该命令从cmd环境进入powershell环境,后者功能更强大

./schema/generate.ps1

# CPU+OpenCL+Vulkan, 64位编译
.\package_scripts\win\build_lib.ps1 -path MNN-CPU-OPENCL/lib/x64 -backends "opencl,vulkan"

编译结果很流畅,只有几个warning:

[65/316] Building CXX object CMakeFiles\MNNTransform.dir\source\geometry\GeometryTopK.cpp.obj
xxx\MNN\source\geometry\GeometryTopK.cpp(19): warning C4477: “printf”: 格式字符串“%lu”需要类型“unsigned long”的参数,但可变参数 1 拥有了类型“unsigned __int64”
xxx\MNN\source\geometry\GeometryTopK.cpp(19): note: 请考虑在格式字符串中使用“%zu”
xxx\MNN\source\geometry\GeometryTopK.cpp(19): warning C4477: “printf”: 格式字符串“%lu”需要类型“unsigned long”的参数,但可变参数 2 拥有了类型“unsigned __int64”
xxx\MNN\source\geometry\GeometryTopK.cpp(19): note: 请考虑在格式字符串中使用“%zu”
[300/316] Building CXX object tools\train\CMakeFiles\MNNTrain.dir\source\transformer\Transformer.cpp.obj
xxx\MNN\tools\train\source\transformer\Transformer.cpp(80) : warning C4700: 使用了未初始化的局部变量“c”

我没有在build目录找到 mnn.exe,接下来,我想用Python API调用刚刚编译的支持opencl,vulkan 的引擎,请问该怎么操作呢?

直接pip安装mnn,调用的好像是已经编译完毕的下载的引擎? 而不是我编译的

@jxt1234
Copy link
Collaborator

jxt1234 commented Aug 4, 2022

需要在 windows 上编译 pymnn ,具体步骤等语雀文档更新吧

@DrRyanHuang
Copy link
Author

@jxt1234
谢谢,请问是这个吗:
https://github.com/lyyiangang/pymnn

@wangzhaode
Copy link
Collaborator

  1. 从源码编译可以查看pymnn/INSTALL.md步骤;
  2. 也可以直接使用pip install MNN安装;

@houshijie-2020
Copy link

平台(如果交叉编译请再附上交叉编译目标平台):

Platform(Include target platform as well if cross-compiling):

Github版本:

Github Version:

直接下载ZIP包请提供下载日期以及压缩包注释里的git版本(可通过7z l zip包路径命令并在输出信息中搜索Comment 获得,形如Comment = bc80b11110cd440aacdabbf59658d630527a7f2b)。 git clone请提供 git commit 第一行的commit id

Provide date (or better yet, git revision from the comment section of the zip. Obtainable using 7z l PATH/TO/ZIP and search for Comment in the output) if downloading source as zip,otherwise provide the first commit id from the output of git commit

编译方式:

Compiling Method

请在这里粘贴cmake参数或使用的cmake脚本路径以及完整输出
Paste cmake arguments or path of the build script used here as well as the full log of the cmake proess here or pastebin

MNN\pymnn\pip_package
python setup.py build --version 1.0

编译日志:

Build Log:

USE_TRT False
Building with python wheel with package name MNN
['D:\Users\XXXX\Documents\GitHub\MNN\pymnn_build', 'D:\Users\XXXX\Documents\GitHub\MNN\pymnn_build\tools\train', 'D:\Users\XXXX\Documents\GitHub\MNN\pymnn_build\tools\cv', 'D:\Users\XXXX\Documents\GitHub\MNN\pymnn_build\source\backend\tensorrt']
running build
running build_py
running build_ext
building '_mnncengine' extension
D:\SoftWare\vs2019\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -ID:\Users\XXXX\Documents\GitHub\MNN\include -ID:\Users\XXXX\Documents\GitHub\MNN\express -ID:\Users\XXXX\Documents\GitHub\MNN\express\module -ID:\Users\XXXX\Documents\GitHub\MNN\source -ID:\Users\XXXX\Documents\GitHub\MNN\tools -ID:\Users\XXXX\Documents\GitHub\MNN\tools\train\source\nn -ID:\Users\XXXX\Documents\GitHub\MNN\tools\train\source\grad -ID:\Users\XXXX\Documents\GitHub\MNN\tools\train\source\module -ID:\Users\XXXX\Documents\GitHub\MNN\tools\train\source\parameters -ID:\Users\XXXX\Documents\GitHub\MNN\tools\train\source\optimizer -ID:\Users\XXXX\Documents\GitHub\MNN\tools\train\source\data -ID:\Users\XXXX\Documents\GitHub\MNN\tools\train\source\transformer -ID:\Users\XXXX\Documents\GitHub\MNN\source\core -ID:\Users\XXXX\Documents\GitHub\MNN\schema\current -ID:\Users\XXXX\Documents\GitHub\MNN\3rd_party\flatbuffers\include -ID:\Users\XXXX\Documents\GitHub\MNN\tools\cv\include -ID:\SoftWare\python3.8\lib\site-packages\numpy\core\include -ID:\SoftWare\python3.8\include -ID:\SoftWare\python3.8\include -ID:\SoftWare\vs2019\VC\Tools\MSVC\14.29.30133\ATLMFC\include -ID:\SoftWare\vs2019\VC\Tools\MSVC\14.29.30133\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" -ID:\SoftWare\vs2019\VC\Tools\MSVC\14.29.30133\ATLMFC\include -ID:\SoftWare\vs2019\VC\Tools\MSVC\14.29.30133\include "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /EHsc /TpD:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc /Fobuild\temp.win-amd64-3.8\Release\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.obj -DBUILD_OPTYPE -DPYMNN_TRAIN_API /MT /Zi /EHa /DNOMINMAX /wd4267 /wd4251 /wd4522 /wd4522 /wd4838 /wd4305 /wd4244 /wd4190 /wd4101 /wd4996 /wd4275 /experimental:preprocessor -DPYMNN_EXPR_API -DPYMNN_NUMPY_USABLE -DPYMNN_OPENCV_API /DEBUG
cl: 命令行 warning D9025 :正在重写“/MD”(用“/MT”)
cl: 命令行 warning D9025 :正在重写“/EHs”(用“/EHa”)
cl: 命令行 warning D9035 :“experimental:preprocessor”选项已否决,并将在将来的版本中移除
cl: 命令行 warning D9036 :使用“Zc:preprocessor”而不使用“experimental:preprocessor”
MNN.cc
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\SoftWare\python3.8\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(14) : Warning Msg: Using deprecated NumPy API, disable it with #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winbase.h(9531): warning C5105: 生成“已定义”的宏扩展具有未定义的行为
D:\Users\XXXX\Documents\GitHub\MNN\tools\cpp/IDSTEncoder.hpp(39): warning C4018: “<”: 有符号/无符号不匹配
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\nn.h(406): warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“unsigned __int64”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\nn.h(406): note: 请考虑在格式字符串中使用“%zd”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1324): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1418): error C2059: 语法错误:“delete”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): error C2143: 语法错误: 缺少“)”(在“”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): error C2143: 语法错误: 缺少“;”(在“
”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): error C2377: “PyObject”: 重定义;typedef 不能由任何其他符号重载
D:\SoftWare\python3.8\include\object.h(108): note: 参见“PyObject”的声明
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): error C2059: 语法错误:“)”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): error C3551: 如果使用尾随返回类型,则主要返回类型应该是单个类型说明符“自动”(而不是 "重载函数类型")
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): error C3613: “->”后缺少返回类型(假定为“int”)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): error C2146: 语法错误: 缺少“;”(在标识符“ob_type”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1420): error C2059: 语法错误:“}”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1420): error C2143: 语法错误: 缺少“;”(在“}”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1423): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1423): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1430): error C2059: 语法错误:“)”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1434): error C2143: 语法错误: 缺少“;”(在“”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1434): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1434): error C2370: “PyObject”: 重定义;不同的存储类
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): note: 参见“PyObject”的声明
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1434): error C2061: 语法错误: 标识符“PyObject”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1434): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1434): error C2059: 语法错误:“{”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1434): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1434): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1444): error C2143: 语法错误: 缺少“;”(在“
”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1444): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1444): error C2370: “PyObject”: 重定义;不同的存储类
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): note: 参见“PyObject”的声明
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1444): error C2061: 语法错误: 标识符“PyObject”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1444): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1444): error C2059: 语法错误:“{”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1444): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1444): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1456): error C2065: “t”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1456): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1456): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1459): error C2065: “t”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1459): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1459): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1462): error C2143: 语法错误: 缺少“;”(在“*”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1462): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1462): error C2370: “PyObject”: 重定义;不同的存储类
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1419): note: 参见“PyObject”的声明
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1462): error C2061: 语法错误: 标识符“PyObject”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1462): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1462): error C2059: 语法错误:“{”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1462): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1462): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1474): error C2059: 语法错误:“)”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1477): error C2061: 语法错误: 标识符“PyObject”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1478): error C2065: “args”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1479): error C2065: “shape”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1479): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1479): error C2244: “std::data”: 无法将函数定义与现有的声明匹配
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1479): error C2065: “input_tensor”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1479): error C2065: “input_var”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1488): error C2065: “args”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1488): error C2065: “input_var”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1489): error C2065: “input_var”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1492): error C2065: “args”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1492): error C2065: “input_tensor”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1493): error C2065: “input_tensor”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1493): error C2065: “input_tensor”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1494): error C2065: “input_tensor”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1495): error C2065: “input_var”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1495): error C2065: “input_tensor”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1496): error C2065: “input_tensor”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1506): error C2065: “args”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1506): error C2065: “shape”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1506): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1507): error C2065: “shape”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1510): error C2065: “args”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1510): error C2065: “shape”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1510): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1511): error C2065: “shape”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1511): error C2664: “bool isVals(PyObject *)”: 无法将参数 1 从“overloaded-function”转换为“PyObject *”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1511): note: 上下文不允许消除重载函数的歧义
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\util.h(374): note: 参见“isVals”的声明
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1526): error C2065: “input_var”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1527): error C2065: “input_var”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1528): error C3536: “var”: 初始化之前无法使用
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1529): error C2062: 意外的类型“void”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1529): error C2144: 语法错误:“void”的前面应有“(”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1532): error C3536: “info”: 初始化之前无法使用
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1548): error C2065: “input_tensor”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1549): error C2065: “input_tensor”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1549): error C2664: “MNN::Tensor::Tensor(int,MNN::Tensor::DimensionType)”: 无法将参数 2 从“bool”转换为“MNN::Tensor::DimensionType”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1549): note: 强制转换为枚举类型要求显式强制转换(static_cast、C 样式强制转换或函数样式强制转换)
D:\Users\XXXX\Documents\GitHub\MNN\include\MNN/Tensor.hpp(60): note: 参见“MNN::Tensor::Tensor”的声明
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1559): error C2065: “shape”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1560): error C2065: “shape”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1567): warning C4551: 缺少参数列表的函数调用
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1567): error C2451: 类型为“overloaded-function”的条件表达式无效
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1567): note: 上下文不允许消除重载函数的歧义
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1568): error C2059: 语法错误:“)”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1568): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1569): error C2664: “Py_ssize_t PyTuple_Size(PyObject *)”: 无法将参数 1 从“overloaded-function”转换为“PyObject *”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1569): note: 上下文不允许消除重载函数的歧义
D:\SoftWare\python3.8\include\tupleobject.h(31): note: 参见“PyTuple_Size”的声明
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1575): error C2181: 没有匹配 if 的非法 else
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1575): error C2059: 语法错误:“)”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1575): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1580): error C2181: 没有匹配 if 的非法 else
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1581): error C2059: 语法错误:“)”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1581): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1582): error C2059: 语法错误:“)”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1582): error C2143: 语法错误: 缺少“;”(在“{”的前面)
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1587): error C2181: 没有匹配 if 的非法 else
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1596): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1599): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1602): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1605): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1608): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1611): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1626): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1628): error C2664: “PyObject *PyTuple_GetItem(PyObject *,Py_ssize_t)”: 无法将参数 1 从“overloaded-function”转换为“PyObject *”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1628): note: 上下文不允许消除重载函数的歧义
D:\SoftWare\python3.8\include\tupleobject.h(32): note: 参见“PyTuple_GetItem”的声明
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1630): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1632): error C2664: “PyObject *PyTuple_GetItem(PyObject *,Py_ssize_t)”: 无法将参数 1 从“overloaded-function”转换为“PyObject *”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1632): note: 上下文不允许消除重载函数的歧义
D:\SoftWare\python3.8\include\tupleobject.h(32): note: 参见“PyTuple_GetItem”的声明
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1634): error C2065: “dataType”: 未声明的标识符
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1636): error C2664: “PyObject *PyTuple_GetItem(PyObject *,Py_ssize_t)”: 无法将参数 1 从“overloaded-function”转换为“PyObject *”
D:\Users\XXXX\Documents\GitHub\MNN\pymnn\src\MNN.cc(1636): fatal error C1003: 错误计数超过 100;正在停止编译
error: command 'D:\SoftWare\vs2019\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe' failed with exit status 2

粘贴在这里
Paste log here or pastebin

编译失败了

@hyukhea
Copy link

hyukhea commented Nov 7, 2022

@houshijie-2020 我遇到了和你相同的问题。解决办法是:删除MNN.cc里的所有中文注释。(我成功编译的版本是MNN==2.2.0)

@wangzhaode
Copy link
Collaborator

可以参考GithubAction的步骤编译:https://github.com/alibaba/MNN/blob/master/.github/workflows/pymnn_windows.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants