mupen64plus / mupen64plus-core

Core module of the Mupen64Plus project
1.32k stars 258 forks source link

asm_defines_nasm.h is not generated on Windows #988

Closed LuigiBlood closed 1 year ago

LuigiBlood commented 1 year ago

When I try to build mupen64plus-core, I keep being stuck as the script simply does not produce asm_defines_nasm.h to even start building the core.

I use Visual Studio 2022 as it seems to be the defacto version now as of the latest commit for msvc. I use Windows 10, also.

Jj0YzL5nvJ commented 1 year ago

What error code does the script return?

I'm assuming this potentially only affects VS2022 IDE x64... What I can do is add an anchor to the script contemplating the possibility that the old behavior (msbuild path == project file path) of the previous IDEs has changed.

LuigiBlood commented 1 year ago

I tested with Release/Debug Win32/x64 regardless of anything, it also happens with VS2019 But here's what it returns, sorry it's in french.


1>Compilateur d'optimisation Microsoft (R) C/C++ version 19.33.31630 pour x86
1>Copyright (C) Microsoft Corporation. Tous droits réservés.
1>
1>asm_defines.c
1>find: '@ASM_DEFINE': No such file or directory
1>
1>Le fichier spécifié est introuvable.
1>
1>Performing Custom Build Tools
1>F:\Git\mupen64plus\mupen64plus-core\src\device\r4300\x86\dyna_start.asm:21: error: unable to open include file `asm_defines_nasm.h': No such file or directory
1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(247,5): error MSB8066: la build personnalisée de '..\..\src\device\r4300\x86\dyna_start.asm' s'est arrêtée. Code 1.
1>Génération du projet "mupen64plus-core.vcxproj" terminée -- ÉCHEC.```
Jj0YzL5nvJ commented 1 year ago

The type or find commands are doing something unexpected on your system...

Open CMD and post the output of type /? and find /?.

If you can, open the path of asm_defines.obj in CMD and run type ".\asm_defines.obj" and post the output.

LuigiBlood commented 1 year ago

F:\Git\mupen64plus\mupen64plus-core\projects\msvc\Win32\Debug>type /?
Affiche le contenu d’un ou plusieurs fichiers texte.

TYPE [lecteur:][chemin]nom_de_fichier

F:\Git\mupen64plus\mupen64plus-core\projects\msvc\Win32\Debug>find /?
find: '/?': No such file or directory

F:\Git\mupen64plus\mupen64plus-core\projects\msvc\Win32\Debug>type ".\asm_defines.obj"
L☺♦JÞ│c'#.drectve/┤
►.debug$SáÒ@►B.rdataä♣â☺@@@.chks64
   /DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ♦±ÆT☺◄F:\Git\mupen64plus\mupen64plus-core\projects\msvc\Win32\Debug\asm_defines.obj:<◄"‼!Ä{‼!Ä{Microsoft (R) Optimizing Compiler
@ASM_DEFINE offsetof_struct_device_r4300 0x00000000

@ASM_DEFINE offsetof_struct_r4300_core_regs 0x00000000

@ASM_DEFINE offsetof_struct_r4300_core_hi 0x00000100

@ASM_DEFINE offsetof_struct_r4300_core_lo 0x00000108

@ASM_DEFINE offsetof_struct_r4300_core_stop 0x00000120

@ASM_DEFINE offsetof_struct_r4300_core_recomp 0x005001c8

@ASM_DEFINE offsetof_struct_recomp_save_ebp 0x000000d4

@ASM_DEFINE offsetof_struct_recomp_save_esp 0x000000e4

@ASM_DEFINE offsetof_struct_recomp_save_ebx 0x000000d8

@ASM_DEFINE offsetof_struct_recomp_save_esi 0x000000dc

@ASM_DEFINE offsetof_struct_recomp_save_edi 0x000000e0

@ASM_DEFINE offsetof_struct_recomp_save_eip 0x000000e8

@ASM_DEFINE offsetof_struct_recomp_return_address 0x000000ec

@ASM_DEFINE offsetof_struct_r4300_core_cp0 0x00500384

@ASM_DEFINE offsetof_struct_cp0_regs 0x00000000

@ASM_DEFINE offsetof_struct_cp0_next_interrupt 0x0000018c

@ASM_DEFINE offsetof_struct_cp0_last_addr 0x000001fc

@ASM_DEFINE offsetof_struct_cp0_count_per_op 0x00000200

@ASM_DEFINE offsetof_struct_cp0_tlb 0x00000208

@ASM_DEFINE offsetof_struct_tlb_entries 0x00000000

@ASM_DEFINE offsetof_struct_tlb_LUT_r 0x00000680

@ASM_DEFINE offsetof_struct_tlb_LUT_w 0x00400680

@ASM_DEFINE offsetof_struct_r4300_core_cached_interp 0x000001ac

@ASM_DEFINE offsetof_struct_cached_interp_invalid_code 0x00000000
#f§'```
LuigiBlood commented 1 year ago

Okay I solved the problem, there was something in PATH that pointed to MSYS with a different find executable. I just removed that. It compiles now.