lmintlcx / pvztoolkit

植物大战僵尸 PC 版综合修改器
https://pvz.lmintlcx.com/toolkit/
GNU General Public License v3.0
512 stars 42 forks source link

使用2019msvc编译时出错,请问是版本不对吗 #31

Closed 1097906176 closed 5 months ago

1097906176 commented 5 months ago

pvz_toolkit\src\process.h(93): error C2664: “BOOL ReadProcessMemory(HANDLE,LPCVOID,LPVOID,SIZE_T,SIZE_T )”: 无法将参数 5 从“unsigned long ”转换为“SIZE_T *” pvz_toolkit\src\process.h(93): note: 与指向的类型无关;强制转换要求 reinterpret_cast、C 样式强制转换或函数样式强制转换 Windows Kits\10\include\10.0.19041.0\um\memoryapi.h(159): note: 参见“ReadProcessMemory”的声明 F:\gongcheng\pvzAuto\1.0.0.1051\pvz_toolkit\src\process.h(93): note: “ReadProcessMemory”: 函数声明必须可用,因为所有参数都不依赖于模板参数 pvz_toolkit\src\process.h(33): note: 此诊断出现在编译器生成的函数“T Pt::Process::ReadMemory(std::initializer_list)”中 \pvz_toolkit\src\process.h(49): note: 此诊断出现在编译器生成的函数“void Pt::Process::WriteMemory(std::array<_Ty,_Size>,std::initializer_list)”中 NMAKE : fatal error U1077: “E:\vs\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.EXE”: 返回代码“0x2” Stop. 大佬报这些错,我是按照readme步骤编译的。是缺少了什么吗

lmintlcx commented 5 months ago

在百度搜索报错信息可知是 32 位和 64 位的 size_t 定义不同导致的. 你开了 x64 编译环境, 改成 x86.