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

Error on startup #3

Open
KabanFriends opened this issue Aug 23, 2022 · 11 comments
Open

Error on startup #3

KabanFriends opened this issue Aug 23, 2022 · 11 comments

Comments

@KabanFriends
Copy link

When I try to run the ClassiCube with Classic64.dll installed (with "sm64.us.z64" in plugins), a popup window with the error "Classic64.dll is either not designed to run on Windows or it contains an error." and a message "%1 is not a valid Win32 application (error 193)" appears in the chat.

OS: Windows 10 (64 bit)
ClassiCube on Direct3D9 (tested with OpenGL but got same error)

@headshot2017
Copy link
Owner

headshot2017 commented Aug 23, 2022

you need to use the 64-bit build of ClassiCube, not the 32-bit one: https://classicube.s3.amazonaws.com/client/release/win64/ClassiCube.exe

if you need to know whether your classicube build is 32 bit or not, open the game and the task manager, then look for classicube:
image
if it says 32 bits, download the 64bit version above

make sure you're also compiling the plugin DLL on 64-bit gcc/g++

@headshot2017
Copy link
Owner

if your problem has been fixed, please close the issue

@KabanFriends
Copy link
Author

KabanFriends commented Aug 24, 2022

I was using the 64-bit version of ClassiCube already, and just to be sure, I re-downloaded from the URL you attached, saved it to overwrite my ClassiCube.exe but still results in the same error
Plugin DLL was built using MSYS2 MinGW 64-bit. I already have an experience in compiling libsm64 for other projects, but this one doesn't work for some reason

headshot2017 pushed a commit that referenced this issue Aug 24, 2022
@headshot2017
Copy link
Owner

please try out branch issue3-win10 and see if that fixes your problem

@KabanFriends
Copy link
Author

Sorry for late reply, but the issue still happens on that branch.

@KabanFriends
Copy link
Author

Not sure if this helps, but the pop-up error message has an error code of 0xc000007b

@headshot2017
Copy link
Owner

if i remember correctly, 0xc000007b appears due to trying to load a 32bit dll with a 64bit exe, or vice versa (64bit dll with 32bit exe).

please double check everything you have is 64 bit:
classicube exe, plugin dll, gcc (run gcc -v and show the output), and OS+processor architecture in settings app -> system -> information -> system type. also check if you don't have some 32bit DLL alongside the classicube exe just in case

@KabanFriends
Copy link
Author

$ file ClassiCube.exe
ClassiCube.exe: PE32+ executable (GUI) x86-64 (stripped to external PDB), for MS Windows

$ file plugins/Classic64.dll
plugins/Classic64.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows

$ gcc -v
Using built-in specs.
COLLECT_GCC=C:\msys64\mingw64\bin\gcc.exe
COLLECT_LTO_WRAPPER=C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-11.2.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include --libexecdir=/mingw64/lib --enable-bootstrap --enable-checking=release --with-arch=x86-64 --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-lto --enable-libgomp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev5, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --with-boot-ldflags='-pipe -Wl,--dynamicbase,--high-entropy-va,--nxcompat,--default-image-base-high -Wl,--disable-dynamicbase -static-libstdc++ -static-libgcc' 'LDFLAGS_FOR_TARGET=-pipe -Wl,--dynamicbase,--high-entropy-va,--nxcompat,--default-image-base-high' --enable-linker-plugin-flags='LDFLAGS=-static-libstdc++\ -static-libgcc\ -pipe\ -Wl,--dynamicbase,--high-entropy-va,--nxcompat,--default-image-base-high\ -Wl,--stack,12582912'
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (Rev5, Built by MSYS2 project)

System Type: 64-bit operating system, x64-based processor

@headshot2017
Copy link
Owner

headshot2017 commented Sep 6, 2022

try my copies of classicube.exe and the plugin dll: ClassiCube.zip
if you have anything else in your plugins folder, move everything out of there and only leave classic64.dll

@KabanFriends
Copy link
Author

Looks like it's working when I use your plugin dll. Strange...

@headshot2017
Copy link
Owner

i'm just as confused as you are, i have no idea what is going on... if that worked just fine, the first release should work as well once it's published

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

No branches or pull requests

2 participants