我可以64bit
obs-studio-node
用自定义构建OSN_LIBOBS_URL
但我无法32bit
obs-studio-node
使用自定义构建32bit
OSN_LIBOBS_URL
我遵循以下步骤
首先,我32bit
libobs
使用步骤构建
git clone --recursive https://github.com/stream-labs/obs-studio
cd obs-studio
mkdir build32
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
cmake --build build32 --config Release
cd .\build32\
cpack -G TGZ
我已经obs-studio/build32/obs-studio-x86-26.4.9-modified.tar.gz
生成了
我用这个生成libobs
的建筑obs-studio-node
git clone https://github.com/stream-labs/obs-studio-node
cd obs-studio-node
mkdir build32
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
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 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,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<c
har,struct std::char_traits<char>,class std::allocator<char> >,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class st
d::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > const &,class std::vector<class std::basic_s
tring<char,struct std::char_traits<char>,class std::allocator<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 位构建的情况下我缺少什么?