注册

python链接数据库,安装dmpython时报错无法解析的外部命令

S.Y.J~ 2023/10/24 716 7 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:win10
【CPU】:
【问题描述】*:python版本 3.12.0 64位
visual studio 2019
已经安装好达梦数据库,配置dm_path,安装好vs2019,和python,安装DMpython时执行 python setup.py install 和在线安装 pip install DMpython 都报错无法解析的外部命令

具体如下:
中间过程中出现过
Connection.c
Connection.c(145): warning C4090: “=”: 不同的“const”限定符
Connection.c(754): warning C4312: “类型强制转换”: 从“long”转换到更大的“dpointer”
Connection.c(954): warning C4244: “=”: 从“Py_ssize_t”转换到“sdint4”,可能丢失数据
Connection.c(938): warning C4101: “rt1”: 未引用的局部变量
Connection.c(1232): warning C4090: “=”: 不同的“const”限定符
Connection.c(1285): warning C4090: “=”: 不同的“const”限定符
Connection.c(1316): warning C4090: “=”: 不同的“const”限定符
Connection.c(1344): warning C4090: “=”: 不同的“const”限定符
Connection.c(1370): warning C4090: “=”: 不同的“const”限定符
Connection.c(1438): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1459): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1494): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1513): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1529): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1545): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1561): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1577): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1593): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1609): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1625): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Connection.c(1641): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1657): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
Connection.c(1673): warning C4312: “类型强制转换”: 从“sdint4”转换到更大的“dpointer”
D:\VS2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DDM64 -DWIN32 -D_CRT_SECURE_NO_WARNINGS -ID:\DM\dmdbms\include -ID:\DM\dmdbms\drivers\python\dmPython -ID:\python3.12\include -ID:\python3.12\Include -ID:\VS2019\Community\VC\Tools\MSVC\14.29.30133\ATLMFC\include -ID:\VS2019\Community\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" /TcCursor.c /Fobuild\temp.win-amd64-3.1\Release\Cursor.obj -DBUILD_VERSION=2.5.1
Cursor.c
Cursor.c(1255): warning C4312: “类型强制转换”: 从“udint4”转换到更大的“dpointer”
Cursor.c(1376): warning C4090: “=”: 不同的“const”限定符
Cursor.c(1555): warning C4133: “=”: 从“PyObject *”到“udt_Variable *”的类型不兼容
Cursor.c(1560): warning C4244: “函数”: 从“Py_ssize_t”转换到“unsigned int”,可能丢失数据
Cursor.c(1574): warning C4244: “函数”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
Cursor.c(1581): warning C4133: “函数”: 从“udt_Variable *”到“PyObject *”的类型不兼容
Cursor.c(1587): warning C4244: “函数”: 从“Py_ssize_t”转换到“udint4”,可能丢失数据
Cursor.c(1681): warning C4133: “=”: 从“PyObject *”到“udt_Variable *”的类型不兼容
Cursor.c(1691): warning C4244: “函数”: 从“Py_ssize_t”转换到“unsigned int”,可能丢失数据
Cursor.c(1706): warning C4133: “函数”: 从“udt_Variable *”到“PyObject *”的类型不兼容
Cursor.c(2515): warning C4244: “函数”: 从“ulength”转换到“udint4”,可能丢失数据
Cursor.c(2560): warning C4244: “函数”: 从“ulength”转换到“udint4”,可能丢失数据
Cursor.c(3205): warning C4244: “=”: 从“Py_ssize_t”转换到“int”,可能丢失数据
Cursor.c(3208): warning C4244: “=”: 从“Py_ssize_t”转换到“int”,可能丢失数据
Cursor.c(3244): warning C4244: “函数”: 从“ulength”转换到“unsigned int”,可能丢失数据
Cursor.c(3268): warning C4244: “函数”: 从“ulength”转换到“unsigned int”,可能丢失数据
Cursor.c(3361): warning C4244: “=”: 从“ulength”转换到“int”,可能丢失数据

最后一段是

正在创建库 build\temp.win-amd64-3.1\Release\dmPython.cp312-win_amd64.lib 和对象 build\temp.win-amd64-3.1\Release\dmPython.cp312-win_amd64.exp
Buffer.obj : error LNK2001: 无法解析的外部符号 PyUnicode_GET_SIZE
row.obj : error LNK2001: 无法解析的外部符号 PyUnicode_FromUnicode
row.obj : error LNK2001: 无法解析的外部符号 PyUnicode_AS_UNICODE
build\lib.win-amd64-3.1\dmPython.cp312-win_amd64.pyd : fatal error LNK1120: 3 个无法解析的外部命令
error: command 'D:\VS2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\link.exe' failed with exit code 1120

请问怎么解决啊

回答 0
暂无回答
扫一扫
联系客服