Can't link websockets_static.lib

When trying to compile UE4 from master (2014-09-02) with emscripten, I get an error that the websockets_static.lib file was not found during the linking step.

However the file is already located in the WebSockets module here: UnrealEngine\Engine\Source\ThirdParty\WebSockets\libwebsockets\lib\x64\2013\websockets_static.lib

The problem is that the WebSockets.Build.cs assumes that only VS2013 can build the libraries. And I am using Windows 7 and VS2012.

I resolved the issue by copying the contents of the 2013 folder into a new 2012 folder.

UnrealEngine\Engine\Source\ThirdParty\WebSockets\libwebsockets\lib\x64\2012

I would suggest to upgrade to 2013, FWIW - my setup is 2012 professional and 2013 express. I generate 2012 project file s and let the UBT actually invoke 2013. Your mileage may vary.

The VS 2013 installer wouldn’t work on my machine because I don’t have Windows 8+

I think you might trying to install the one which does win 8 ui. the basic desktop edition just needs Win 7 + SPI1

Thanks! I just installed it and found out Visual Assist (VAX) doesn’t work with express. Anyway, why do you think 2013 is better than 2012? Just to avoid these issues?

yeah, express doesn’t support plugin. VAX is the reason i use 2012 IDE for which I have a pro license. But still use 2013 as the compiler from express.

Do you have any local changes ( in UBT? UEBuildWindows.cs ? ) to force 2012 ? revert those. and then generate project files using “GenerateProjectFiles.bat -2012”. This will generate a UE4.sln file which opens in 2012. all build/clean commands go though UBT batchfies so it will invoke the right compiler.

This setup SHOULD work with latest master, if it doesn’t it’s a bug.

if you are dealing with UE codebase, my best guess is to avoid 2012. and move on to 2013.

That being said - mea culpa - websockets_lib not being there for 2012 is my fault and I will update it as soon I have some time.

HTH.