stream-labs / obs-studio-node

libOBS (OBS Studio) for Node.Js, Electron and similar tools
GNU General Public License v2.0
616 stars 99 forks source link

obs_studio_client.node is not a valid Win32 #1288

Closed AdoneZ closed 1 year ago

AdoneZ commented 1 year ago

I run the test after executing "cmake --build build --target install". I get an error:

yarn run test

× ERROR: \\?\D:\Users\magic\WebstormProjects\obs-studio-node\build-generate\obs_studio_client.node is not a valid Win32 application.
\\?\D:\Users\magic\WebstormProjects\obs-studio-node\build-generate\obs_studio_client.node

I tried to install 32bit node.js, but it didn't work.

summeroff commented 1 year ago

our building scripts only create builds for 64 bit system. 32bit node js probably will not support 64bit modules.

you also can check if obs_studio_client.node file is valid with a command : dumpbin /DEPENDENTS D:\Users\magic\WebstormProjects\obs-studio-node\build-generate\obs_studio_client.node

AdoneZ commented 1 year ago

I run the command in Developer Command Prompt for VS 2022.

Microsoft (R) COFF/PE Dumper Version 14.35.32217.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file D:\Users\magic\WebstormProjects\obs-studio-node\build-generate\obs_studio_client.node

File Type: DLL

  Image has the following dependencies:

    KERNEL32.dll
    USER32.dll
    ADVAPI32.dll
    SHELL32.dll
    ole32.dll
    SHLWAPI.dll
    MSVCP140.dll
    VCRUNTIME140.dll
    VCRUNTIME140_1.dll
    api-ms-win-crt-string-l1-1-0.dll
    api-ms-win-crt-runtime-l1-1-0.dll
    api-ms-win-crt-math-l1-1-0.dll
    api-ms-win-crt-heap-l1-1-0.dll
    api-ms-win-crt-convert-l1-1-0.dll
    api-ms-win-crt-stdio-l1-1-0.dll
    api-ms-win-crt-filesystem-l1-1-0.dll
    api-ms-win-crt-locale-l1-1-0.dll

  Image has the following delay load dependencies:

    node.exe

  Summary

        5000 .data
        B000 .pdata
       38000 .rdata
        1000 .reloc
        1000 .rsrc
      132000 .text
        1000 .tls
summeroff commented 1 year ago

Looks like node file is correct dll. So it is node 32 bit what is an issue here. Please consider to switch to node64 version.