Forum Discussion
widdershins
12 years agoHonored Guest
Building UE4 with 0.4.1 SDK - ATL lib issue
I'm trying to build UE4.3 with the new SDK integration, as described in this thread.
On attempting to build the first time, I got the error described in this thread, as I didn't have the Windows Driver Kit installed. I installed the kit, and updated the VS project to search for headers in "C:\WinDDK\7600.16385.1\inc\atl71\" and to look for libs in "C:\WinDDK\7600.16385.1\lib\ATL\ia64\", as instructed in that thread.
But I'm getting this error:
error LNK1136: invalid or corrupt file C:\WinDDK\7600.16385.1\lib\ATL\ia64\atls.lib
atls.lib is definitely installed and at that location. I'm doing a 64 bit build of UE4. Anyone got any ideas what I'm doing wrong?
On attempting to build the first time, I got the error described in this thread, as I didn't have the Windows Driver Kit installed. I installed the kit, and updated the VS project to search for headers in "C:\WinDDK\7600.16385.1\inc\atl71\" and to look for libs in "C:\WinDDK\7600.16385.1\lib\ATL\ia64\", as instructed in that thread.
But I'm getting this error:
error LNK1136: invalid or corrupt file C:\WinDDK\7600.16385.1\lib\ATL\ia64\atls.lib
atls.lib is definitely installed and at that location. I'm doing a 64 bit build of UE4. Anyone got any ideas what I'm doing wrong?
11 Replies
Replies have been turned off for this discussion
- widdershinsHonored GuestHmm, I think probably I'm not linking it correctly. I added the paths in the VC++ Directories tab of the Property Pages (why are there 3-4 separate menu bar items for that in VS, btw?).
I put "C:\WinDDK\7600.16385.1\inc\atl71\" in Include Directories and "C:\WinDDK\7600.16385.1\lib\win7\ia64\;C:\WinDDK\7600.16385.1\lib\ATL\ia64\" in Library Directories. However, this thread says those should be added in these locations:
Properties > Configuration Properties > C/C++ > General > Additional Include Directories
Properties > Configuration Properties > Linker > General > Additional Library Directories
Only problem is, the UE4 VS project doesn't have C/C++ or Linker tabs! How do I get those to display?
(As you can tell, I'm not experienced with VS, more of an XCode person) - r0bc4ryHonored Guest+1 Same problem here. Any help would be greatly appreciated.
- Teddy00kHonored Guest
- widdershinsHonored Guest
"Teddy00k" wrote:
This guy has a fix for it;
viewtopic.php?f=34&t=10917&p=164032&hilit=atls.lib#p164032
Thanks for the help. Unfortunately I just tried making the changes that guy suggested to the Oculus SDK files in the engine's Third Party folder, and VS still seems to be searching for this atls.lib. If I remove the path from Library Directories I get an error that it's not found, if I put it back I get the error that atls.lib is invalid or corrupt. - Teddy00kHonored GuestYou'll also need to edit the file Engine\Plugins\OculusRift\Source\OculusRift\OculusRift.Build.cs
Remove the line that has atls.lib - widdershinsHonored Guest
"Teddy00k" wrote:
You'll also need to edit the file Engine\Plugins\OculusRift\Source\OculusRift\OculusRift.Build.cs
Remove the line that has atls.lib
Well spotted, I hadn't removed that. However, I just tried to build again... and it's still looking for atls.lib. - plagiarizeExplorerIn the same boat here. I've successfully compiled updated OVRLibs as per in that other thread and moved those files over to my UnrealEditor project folder replacing the ones that were there, which didn't make any difference. I searched the entire project for more references to the ATL lib, and didn't find any. They must be being referred to elsewhere.
I successfully compiled the Epic 4.3 fork, so I know I can compile that. It's the Oculus fork that's giving me this issues. - n00854180tExplorerMake sure to regenerate your projects after you make changes to build scripts.
BTW I had some weird problems getting this building last night (no zlib.lib, missing RPCUtility files, etc.) and had to redo the copying and stuff a couple of times (.zip labeled "Link1" in the Oculus repo readme file, Required1 and 2.zip) before it worked.
If anyone is interested in a binary build, I can commit engine bins up to my (private forked) UE4 repo. - AnonymousI got Oculus fork of UE4 building this morning with Visual Studio 2013 Express. The trouble for me seemed to be that (a) VS2013 express doesn't ship with the ATL files, and (b) the libovr64.lib file in the UE4 SDK was (I think) built with a different version of ATL than you get when you download the Windows Driver SDK.
In any event, I detailed my steps in this post.
TL;DR:- Install Windows Driver Kit to get ATL headers and libs
- Update LibOVR project file to point to ATL headers and libs, and recompile libovr
- Replace the libovr provided with the UE4 SDK with your recompiled version
- patch OculusRift.Build.cs and LibOVR.Build.cs to ensure UE4 links against the correct ATL files
- widdershinsHonored Guest
"mmcgill" wrote:
I got Oculus fork of UE4 building this morning with Visual Studio 2013 Express. The trouble for me seemed to be that (a) VS2013 express doesn't ship with the ATL files, and (b) the libovr64.lib file in the UE4 SDK was (I think) built with a different version of ATL than you get when you download the Windows Driver SDK.
In any event, I detailed my steps in this post.
TL;DR:- Install Windows Driver Kit to get ATL headers and libs
- Update LibOVR project file to point to ATL headers and libs, and recompile libovr
- Replace the libovr provided with the UE4 SDK with your recompiled version
- patch OculusRift.Build.cs and LibOVR.Build.cs to ensure UE4 links against the correct ATL files
Thanks a bunch! I love the internet and the clever people on it.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 8 months ago
- 10 months ago
- 2 months ago
- 2 years ago