无法使用自定义库构建 32 位 obs-studio-node

我可以使用自定义 64bit

构建 Osn_LIBOBS_URL obs-studio-node

但我无法使用自定义 32bit obs-studio-node 构建 32bit Osn_LIBOBS_URL 我按照以下步骤操作

首先我使用步骤构建了 32bit libobs

  1. git clone --recursive https://github.com/stream-labs/obs-studio
  2. cd obs-studio
  3. mkdir build32
  4. cmake -G "Visual Studio 16 2019" -A Win32 -S . -B build32 -DDepsPath=C:\Users\alokm\Downloads\dependencies2019\win32 -DCMAKE_CONFIGURATION_TYPES=Release -DENABLE_UI=false -DENABLE_SCRIPTING=false
  5. cmake --build build32 --config Release
  6. cd .\build32\
  7. cpack -G TGZ 我已经生成了 obs-studio/build32/obs-studio-x86-26.4.9-modified.tar.gz

我使用这个生成的 libobs 来构建 obs-studio-node

  1. git clone https://github.com/stream-labs/obs-studio-node
  2. cd obs-studio-node
  3. mkdir build32
  4. cmake -G"Visual Studio 16 2019" -A Win32 -DOsn_LIBOBS_URL="C:/Users/alokm/tmp/streamlabs/obs-studio/build32/obs-studio-x86-26.4.9-modified.tar.gz" -B build32
  5. cmake --build build32 --config Release 这一步导致链接器错误
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: __thiscall base::FilePath::FilePath(void)" (??0FilePath@base@@QAE@XZ) re
ferenced in function "void __cdecl `dynamic initializer for 'db''(void)" (??__Edb@@YAXXZ) [C:\Users\alokm\tmp\streamlabs\obs-studio-node\build32\ob
s-studio-server\obs-studio-server.vcxproj]
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: __thiscall base::FilePath::FilePath(class std::basic_string<wchar_t,stru
ct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &)" (??0FilePath@base@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocat
or@_W@2@@std@@@Z) referenced in function "private: static bool __cdecl util::CrashManager::SetupCrashpad(void)" (?SetupCrashpad@CrashManager@util@@
CA_NXZ) [C:\Users\alokm\tmp\streamlabs\obs-studio-node\build32\obs-studio-server\obs-studio-server.vcxproj]
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: __thiscall base::FilePath::~FilePath(void)" (??1FilePath@base@@QAE@XZ) r
eferenced in function "void __cdecl `dynamic atexit destructor for 'db''(void)" (??__Fdb@@YAXXZ) [C:\Users\alokm\tmp\streamlabs\obs-studio-node\bui
ld32\obs-studio-server\obs-studio-server.vcxproj]
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: class base::FilePath & __thiscall base::FilePath::operator=(class base::
FilePath const &)" (??4FilePath@base@@QAEAAV01@ABV01@@Z) referenced in function "private: static bool __cdecl util::CrashManager::SetupCrashpad(voi
d)" (?SetupCrashpad@CrashManager@util@@CA_NXZ) [C:\Users\alokm\tmp\streamlabs\obs-studio-node\build32\obs-studio-server\obs-studio-server.vcxproj]
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: static class std::unique_ptr<class crashpad::CrashReportDatabase,struct
std::default_delete<class crashpad::CrashReportDatabase> > __cdecl crashpad::CrashReportDatabase::Initialize(class base::FilePath const &)" (?Initi
alize@CrashReportDatabase@crashpad@@SA?AV?$unique_ptr@VCrashReportDatabase@crashpad@@U?$default_delete@VCrashReportDatabase@crashpad@@@std@@@std@@A
BVFilePath@base@@@Z) referenced in function "private: static bool __cdecl util::CrashManager::SetupCrashpad(void)" (?SetupCrashpad@CrashManager@uti
l@@CA_NXZ) [C:\Users\alokm\tmp\streamlabs\obs-studio-node\build32\obs-studio-server\obs-studio-server.vcxproj]
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: __thiscall crashpad::CrashpadClient::CrashpadClient(void)" (??0CrashpadC
lient@crashpad@@QAE@XZ) referenced in function "void __cdecl `dynamic initializer for 'client''(void)" (??__eclient@@YAXXZ) [C:\Users\alokm\tmp\str
eamlabs\obs-studio-node\build32\obs-studio-server\obs-studio-server.vcxproj]
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: __thiscall crashpad::CrashpadClient::~CrashpadClient(void)" (??1Crashpad
Client@crashpad@@QAE@XZ) referenced in function "void __cdecl `dynamic atexit destructor for 'client''(void)" (??__Fclient@@YAXXZ) [C:\Users\alokm\
tmp\streamlabs\obs-studio-node\build32\obs-studio-server\obs-studio-server.vcxproj]
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: bool __thiscall crashpad::CrashpadClient::StartHandler(class base::FileP
ath const &,class base::FilePath const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocat
or<char> > const &,class std::map<class std::basic_string<char,class std::allocator<char> >,class std::basic_string<c
har,struct std::less<class std::basic_string<char,class st
d::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,class std::allocator<char>
> const,class std::allocator<char> > > > > const &,class std::vector<class std::basic_s
tring<char,class std::allocator<class std::basic_string<char,struct std::char_traits<cha
r>,class std::allocator<char> > > > const &,bool,bool)" (?StartHandler@CrashpadClient@crashpad@@QAE_NABVFilePath@base@@00ABV?$basic_string@DU?$char
_traits@D@std@@V?$allocator@D@2@@std@@ABV?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_t
raits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@6@ABV?$
vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@
@6@_N4@Z) referenced in function "private: static bool __cdecl util::CrashManager::SetupCrashpad(void)" (?SetupCrashpad@CrashManager@util@@CA_NXZ)
[C:\Users\alokm\tmp\streamlabs\obs-studio-node\build32\obs-studio-server\obs-studio-server.vcxproj]
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: bool __thiscall crashpad::CrashpadClient::WaitForHandlerStart(unsigned i
nt)" (?WaitForHandlerStart@CrashpadClient@crashpad@@QAE_NI@Z) referenced in function "private: static bool __cdecl util::CrashManager::SetupCrashpa
d(void)" (?SetupCrashpad@CrashManager@util@@CA_NXZ) [C:\Users\alokm\tmp\streamlabs\obs-studio-node\build32\obs-studio-server\obs-studio-server.vcxp
roj]
util-crashmanager.obj : error LNK2019: unresolved external symbol "public: bool __thiscall crashpad::Settings::SetUploadsEnabled(bool)" (?SetUpload
sEnabled@Settings@crashpad@@QAE_N_N@Z) referenced in function "private: static bool __cdecl util::CrashManager::SetupCrashpad(void)" (?SetupCrashpa
d@CrashManager@util@@CA_NXZ) [C:\Users\alokm\tmp\streamlabs\obs-studio-node\build32\obs-studio-server\obs-studio-server.vcxproj]
C:\Users\alokm\tmp\streamlabs\obs-studio-node\build32\obs-studio-server\Release\obs32.exe : fatal error LNK1120: 10 unresolved externals [C:\Users\
alokm\tmp\streamlabs\obs-studio-node\build32\obs-studio-server\obs-studio-server.vcxproj]

在 32 位构建的情况下,我缺少什么?

Z584036976 回答:无法使用自定义库构建 32 位 obs-studio-node

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/780891.html

大家都在问