Metick / CheatEngine-DMA

Cheat Engine Plugin for DMA users
MIT License
208 stars 50 forks source link

Build issues #7

Closed Michael-Stokoe closed 5 months ago

Michael-Stokoe commented 5 months ago

Struggling to build the solution.

Windows 11 x64. Visual Studio 2022.

I started out with errors for missing libs, which were resolved by grabbing the latest binaries from https://github.com/ufrisk/MemProcFS/tree/master/includes/lib32

Then there was a missing lua53-64.lib which I grabbed from my local installation of Cheat Engine 7.5.

I dropped that in, and now the errors are as follows:

I've tinkered around with it but as I'm not a particularly seasoned C/C++ dev, I'm struggling a bit with debugging.

image image

Full output:

1>Done building project "DMALibrary.vcxproj".
2>------ Build started: Project: plugin, Configuration: Release x64 ------
2>main.c
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\leechcore.h(122,11): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\leechcore.h(122,11):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\leechcore.h(489,10): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\leechcore.h(489,10):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\leechcore.h(498,10): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\leechcore.h(498,10):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(392,35): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(392,35):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1454,25): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1454,25):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1464,25): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1464,25):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1471,27): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1471,27):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1480,28): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1480,28):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1489,36): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1489,36):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1505,25): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1505,25):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1515,25): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1515,25):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1524,26): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1524,26):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1532,31): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1532,31):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1539,28): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1539,28):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1548,28): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1548,28):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1559,26): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1559,26):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1568,25): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1568,25):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1576,29): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1576,29):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1585,26): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1585,26):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1594,24): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1594,24):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1603,29): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(1603,29):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(2138,25): warning C4200: nonstandard extension used: zero-sized array in struct/union
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\libs\vmmdll.h(2138,25):
2>This member will be ignored by a defaulted constructor or copy/move assignment operator
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\DMALibrary\Memory\Registry.h(25,2): warning C4996: 'wcstombs': This function or variable may be unsafe. Consider using wcstombs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>(compiling source file 'main.c')
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\plugin\main.c(166,2): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\plugin\main.c(182,2): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\plugin\main.c(202,2): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\plugin\main.c(219,2): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\plugin\main.c(231,2): warning C4996: 'freopen': This function or variable may be unsafe. Consider using freopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\plugin\main.c(232,2): warning C4996: 'freopen': This function or variable may be unsafe. Consider using freopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\plugin\main.c(233,2): warning C4996: 'freopen': This function or variable may be unsafe. Consider using freopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>C:\Users\Stokoe\Desktop\CheatEngine-DMA-Master\plugin\main.c(227,33): warning C4101: 'init4': unreferenced local variable
2>DMALibrary.lib(Memory.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
2>   Creating library x64\Release\plugin.lib and object x64\Release\plugin.exp
2>plugin.exp : warning LNK4070: /OUT:Example-C.dll directive in .EXP differs from output filename 'x64\Release\plugin.dll'; ignoring directive
2>main.obj : error LNK2001: unresolved external symbol VMMDLL_Map_GetVadW
2>main.obj : error LNK2001: unresolved external symbol VMMDLL_Map_GetModuleU
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Map_GetModuleU
2>main.obj : error LNK2001: unresolved external symbol VMMDLL_ProcessGetInformationAll
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_ProcessGetInformationAll
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Close
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Initialize
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Map_GetPhysMem
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_MemFree
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_ConfigGet
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol LcCreate
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol LcCommand
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol LcClose
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_PidGetFromName
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_ProcessGetInformation
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Map_GetModuleFromNameW
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Map_GetEATU
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Map_GetIATU
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Map_GetModuleFromNameU
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_InitializePlugins
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_VfsReadW
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_VfsListU
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_ConfigSet
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_MemReadEx
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_MemWrite
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Scatter_Initialize
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Scatter_CloseHandle
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Scatter_PrepareEx
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Scatter_PrepareWrite
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Scatter_ExecuteRead
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Scatter_Clear
2>DMALibrary.lib(Memory.obj) : error LNK2001: unresolved external symbol VMMDLL_Scatter_Execute
2>x64\Release\plugin.dll : fatal error LNK1120: 30 unresolved externals
2>Done building project "plugin.vcxproj" -- FAILED.
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build completed at 00:59 and took 04.759 seconds ==========
Michael-Stokoe commented 5 months ago

Just adding this comment for visibility:

I've grabbed the x64 versions of these libs from ufrisk's commit before your last one on this repo, and everything built.

URL for anyone else facing this issue:

https://github.com/ufrisk/MemProcFS/tree/d53177c58b52b74fb37d7ce9e18f1f3000f9d5d3/includes/lib64

Metick commented 5 months ago

Yea, you need x64 version of the library if you wanna compile for x64 😄

Lytlehood commented 5 months ago

This is helpful. lua53-64.lib: https://github.com/cheat-engine/cheat-engine/tree/master/Cheat%20Engine/plugin

kamuran21 commented 5 months ago

Just adding this comment for visibility:

I've grabbed the x64 versions of these libs from ufrisk's commit before your last one on this repo, and everything built.

URL for anyone else facing this issue:

https://github.com/ufrisk/MemProcFS/tree/d53177c58b52b74fb37d7ce9e18f1f3000f9d5d3/includes/lib64

Sorry, i am not good at this. Should I add these files and include them instead of each orginal? How can i handle this, can you be a guide please.