Kagami / mpv.js

:movie_camera: mpv pepper plugin
Creative Commons Zero v1.0 Universal
408 stars 63 forks source link

Issue while building on Windows: error LNK2001: unresolved external symbol GLES2CreateProgram #56

Closed sirisian closed 4 years ago

sirisian commented 5 years ago

I followed the instructions and didn't have any issues until I ran "node-gyp rebuild". Specifically I'm seeing "error LNK2001: unresolved external symbol GLES2CreateProgram".

The binding.gyp specifically says: "C:/nacl_sdk/pepper_49/lib/win_x86_64_host/Release" and that's where the ppapi_cpp.lib and ppapi_gles2.lib files are located. (I can past the path into file explorer and I see the two files and they're last modified when I made them).

node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@5.0.3
gyp info using node@11.9.0 | win32 | x64
gyp info find Python using Python version 2.7.15 found at "C:\Python27\python.exe"
gyp info find VS using VS2017 (15.9.28307.344) found at:
gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools"
gyp info find VS run with --verbose for detailed information
gyp info spawn C:\Python27\python.exe
gyp info spawn args [ 'C:\\Users\\sirisian\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\sirisian\\Desktop\\git\\mpv.js\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\sirisian\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\sirisian\\AppData\\Local\\node-gyp\\Cache\\11.9.0\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\sirisian\\AppData\\Local\\node-gyp\\Cache\\11.9.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\sirisian\\AppData\\Roaming\\npm\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\sirisian\\AppData\\Local\\node-gyp\\Cache\\11.9.0\\<(target_arch)\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\Users\\sirisian\\Desktop\\git\\mpv.js',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\Users\\sirisian\\Desktop\\git\\mpv.js\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  index.cc
index.obj : error LNK2001: unresolved external symbol GLES2CreateProgram [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2BindFramebuffer [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2DrawArrays [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetIntegerv [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2TexImage2D [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2BufferData [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2VertexAttribPointer [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2IsQueryEXT [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2LinkProgram [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2DeleteShader [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Disable [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Uniform1i [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetProgramiv [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2EnableVertexAttribArray [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2TexSubImage2D [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2AttachShader [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Uniform1f [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetError [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: void __cdecl pp::Instance::PostMessage(class pp::Var const &)" (?PostMessage@Instance@pp@@QEAAXAEBVVar@2@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: bool __cdecl pp::Instance::BindGraphics(class pp::Graphics3D const &)" (?BindGraphics@Instance@pp@@QEAA_NAEBVGraphics3D@2@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl pp::Instance::HandleDocumentLoad(class pp::URLLoader const &)" (?HandleDocumentLoad@Instance@pp@@UEAA_NAEBVURLLoader@2@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\
mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl pp::Instance::HandleInputEvent(class pp::InputEvent const &)" (?HandleInputEvent@Instance@pp@@UEAA_NAEBVInputEvent@2@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mp
vjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl pp::Instance::DidChangeFocus(bool)" (?DidChangeFocus@Instance@pp@@UEAAX_N@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl pp::Instance::DidChangeView(class pp::Rect const &,class pp::Rect const &)" (?DidChangeView@Instance@pp@@UEAAXAEBVRect@2@0@Z) [C:\Users\sirisian\Desktop\git\mpv.js\bui
ld\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual __cdecl pp::Instance::~Instance(void)" (??1Instance@pp@@UEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Instance::Instance(int)" (??0Instance@pp@@QEAA@H@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: void __cdecl pp::Lock::Release(void)" (?Release@Lock@pp@@QEAAXXZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: void __cdecl pp::Lock::Acquire(void)" (?Acquire@Lock@pp@@QEAAXXZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Lock::~Lock(void)" (??1Lock@pp@@QEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Lock::Lock(void)" (??0Lock@pp@@QEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl pp::Var::AsString(void)const " (?AsString@Var@pp@@QEBA?AV?$basic_string@DU?$char_traits@D@s
td@@V?$allocator@D@2@@std@@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: double __cdecl pp::Var::AsDouble(void)const " (?AsDouble@Var@pp@@QEBANXZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: int __cdecl pp::Var::AsInt(void)const " (?AsInt@Var@pp@@QEBAHXZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: bool __cdecl pp::Var::AsBool(void)const " (?AsBool@Var@pp@@QEBA_NXZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual __cdecl pp::Var::~Var(void)" (??1Var@pp@@UEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Var::Var(struct pp::Var::Null)" (??0Var@pp@@QEAA@UNull@01@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Var::Var(bool)" (??0Var@pp@@QEAA@_N@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Var::Var(int)" (??0Var@pp@@QEAA@H@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Var::Var(double)" (??0Var@pp@@QEAA@N@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Var::Var(char const *)" (??0Var@pp@@QEAA@PEBD@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: class pp::Resource & __cdecl pp::Resource::operator=(class pp::Resource const &)" (??4Resource@pp@@QEAAAEAV01@AEBV01@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl pp::Module::Init(void)" (?Init@Module@pp@@UEAA_NXZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: static class pp::Module * __cdecl pp::Module::Get(void)" (?Get@Module@pp@@SAPEAV12@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual __cdecl pp::Module::~Module(void)" (??1Module@pp@@UEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Module::Module(void)" (??0Module@pp@@QEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: float __cdecl pp::View::GetDeviceScale(void)const " (?GetDeviceScale@View@pp@@QEBAMXZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: class pp::Rect __cdecl pp::View::GetRect(void)const " (?GetRect@View@pp@@QEBA?AVRect@2@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: unsigned int __cdecl pp::VarArray::GetLength(void)const " (?GetLength@VarArray@pp@@QEBAIXZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: class pp::Var __cdecl pp::VarArray::Get(unsigned int)const " (?Get@VarArray@pp@@QEBA?AVVar@2@I@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual __cdecl pp::VarArray::~VarArray(void)" (??1VarArray@pp@@UEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::VarArray::VarArray(class pp::Var const &)" (??0VarArray@pp@@QEAA@AEBVVar@1@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: bool __cdecl pp::VarDictionary::Set(class pp::Var const &,class pp::Var const &)" (?Set@VarDictionary@pp@@QEAA_NAEBVVar@2@0@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: class pp::Var __cdecl pp::VarDictionary::Get(class pp::Var const &)const " (?Get@VarDictionary@pp@@QEBA?AVVar@2@AEBV32@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual __cdecl pp::VarDictionary::~VarDictionary(void)" (??1VarDictionary@pp@@UEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::VarDictionary::VarDictionary(void)" (??0VarDictionary@pp@@QEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::VarDictionary::VarDictionary(class pp::Var const &)" (??0VarDictionary@pp@@QEAA@AEBVVar@1@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::InstanceHandle::InstanceHandle(class pp::Instance *)" (??0InstanceHandle@pp@@QEAA@PEAVInstance@1@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: void __cdecl pp::Core::CallOnMainThread(int,class pp::CompletionCallback const &,int)" (?CallOnMainThread@Core@pp@@QEAAXHAEBVCompletionCallback@2@H@Z) [C:\Users\sirisian\Desktop\git\mpv.js
\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: int __cdecl pp::Graphics3D::SwapBuffers(class pp::CompletionCallback const &)" (?SwapBuffers@Graphics3D@pp@@QEAAHAEBVCompletionCallback@2@@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mp
vjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: int __cdecl pp::Graphics3D::ResizeBuffers(int,int)" (?ResizeBuffers@Graphics3D@pp@@QEAAHHH@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: virtual __cdecl pp::Graphics3D::~Graphics3D(void)" (??1Graphics3D@pp@@UEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Graphics3D::Graphics3D(void)" (??0Graphics3D@pp@@QEAA@XZ) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol "public: __cdecl pp::Graphics3D::Graphics3D(class pp::InstanceHandle const &,int const * const)" (??0Graphics3D@pp@@QEAA@AEBVInstanceHandle@1@QEBH@Z) [C:\Users\sirisian\Desktop\git\mpv.js\build\mpv
js.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2BindAttribLocation [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GenBuffers [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Flush [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2DisableVertexAttribArray [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Finish [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetQueryObjectuivEXT [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2UseProgram [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2ShaderSource [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2ClearColor [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Enable [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2BindBuffer [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2UniformMatrix2fv [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetUniformLocation [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetAttribLocation [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2EndQueryEXT [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2PixelStorei [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2DeleteTextures [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2DeleteBuffers [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol glInitializePPAPI [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GenQueriesEXT [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2DeleteFramebuffers [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2CompileShader [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2BufferSubData [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2UniformMatrix3fv [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GenTextures [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Uniform3f [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2FramebufferTexture2D [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Scissor [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GenFramebuffers [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Viewport [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2CreateShader [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2TexParameteri [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetString [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Clear [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2BindTexture [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2DeleteQueriesEXT [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2CheckFramebufferStatus [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2ActiveTexture [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2BeginQueryEXT [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2ReadPixels [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetShaderiv [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2BlendFuncSeparate [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2Uniform2f [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetProgramInfoLog [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetShaderInfoLog [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol glSetCurrentContextPPAPI [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2GetFramebufferAttachmentParameteriv [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
index.obj : error LNK2001: unresolved external symbol GLES2DeleteProgram [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
C:\Users\sirisian\Desktop\git\mpv.js\build\Release\mpvjs.node : fatal error LNK1120: 111 unresolved externals [C:\Users\sirisian\Desktop\git\mpv.js\build\mpvjs.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\sirisian\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:196:23)
gyp ERR! stack     at ChildProcess.emit (events.js:197:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\sirisian\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\sirisian\Desktop\git\mpv.js
gyp ERR! node -v v11.9.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok

(I have no issues getting this to work with Ubuntu 18.04).

Kagami commented 4 years ago

I think you forgot this step: https://github.com/Kagami/mpv.js#step-21-compile-64-bit-nacl-host-binaries-on-windows

sirisian commented 4 years ago

@Kagami Sorry for the delay. I actually did run that originally and have both the lib files on windows, but it's generating mangled symbols. When I run:

dumpbin /SYMBOLS win_x86_64_host\Release\ppapi_gles2.lib

I see stuff like:

2AF 00000000 SECT3B notype ()    External     | _GLES2CreateProgram@0

The gl2.h clearly uses extern "C" and I've tried even adding extern "C" __declspec( dllexport ) { along with changing the nacl makefile scripts to simplify the nacl build. Not sure if this mangled thing is causing the linker errors, but I think so. Could be an issue with VS 2019. My C++ is rusty, so this might take a while for me to solve. Not sure if you setup your build environment differently so this didn't happen.

sirisian commented 4 years ago

Ahah. I figured it out. I apparently had VS 2019 llvm compilers in my path directory (probably from a previous project) and the makefile was using that or something and generating incompatible lib files. I removed the path to llvm and just had the regular C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64 path in there and it compiled the correct lib with no mangling.