0

So, I've been trying to get this small project up and running.

I'm not a C/C++ expert and I think I'm not gonna receive any help with this issue given that the project seems somehow abandoned..

So I'm asking here.

This is what I have done so far:

  • cloned
  • created a _out directory
  • cmake'd from there

Then in VS Community Edition 15 2017 I get the following:

2>LINK : fatal error LNK1104: cannot open file 'dxerr.lib'

Reading around it seems that this is an outdated library not available anymore since Windows SDK 8+.

In the article they terminate saying:

VS 2015/2017: The VS 2015/2017 C Runtime is not compatible with the DXERR.LIB that ships in the legacy DirectX SDK. You will get link errors trying to use it. You can use this module to replace DXERR LIB but will have to rebuild the code that uses it. You can try linking with legacy_stdio_definitions.lib instead, but ideally you'd remove this dependency on the legacy DirectX SDK.

I have no idea which solution applies best to my case and how I can implement it.

Anyway, another thing I tried was removing from dxerr.lib from Additional Dependencies within the SDL2 project Linker properties, like I read here.

But then I got plenty of other errors

So, I'm at a dead end at the moment.

elect
  • 6,765
  • 10
  • 53
  • 119
  • Did you try the recommendation? Linking against `legacy_stdio_definitions.lib`? – Matthieu Brucher Jan 29 '19 at 10:10
  • @MatthieuBrucher, if you mean simply substituting `dxerr.lib` with `legacy_stdio_definitions.lib` then I get the same list of errors as if I simple remove `dxerr.lib` – elect Jan 29 '19 at 10:12
  • And did you build the content of the zip file, as advocated by the blog post you quoted? – Matthieu Brucher Jan 29 '19 at 10:13
  • No, how shall I do it? Shall I simply put the content (`dxerr.cpp` and `dxerr.h`) somewhere in the SDL2 sources? – elect Jan 29 '19 at 10:15
  • If you add these to your project, you have to check what they are exporting, but yes, that's the option that is advocated by the article (either in your project, or rebuild it as dxerr.lib). – Matthieu Brucher Jan 29 '19 at 10:16
  • I think you should rather remove bundled SDL2 and use a fresh version of that library instead. This project seem to have parts of legacy DirectX SDK bundled too, it may be a good idea to replace them as well. – user7860670 Jan 29 '19 at 10:17
  • @MatthieuBrucher, could you suggest me where shall those be put? – elect Jan 29 '19 at 10:18
  • @VTT, I tend to like this idea, but unfortunately I guess I shall polish many things which I think I won't be able to do so – elect Jan 29 '19 at 10:20
  • No, I don't know where to put them, that's up to you. Either this, or update the SDL2 version (like @VTT suggested). – Matthieu Brucher Jan 29 '19 at 10:20
  • @VTT, so I simply downloaded SDL2 2.0.9-Stable source code into `SDL2-2.0.1` in order to avoid messing up with cmake config (renaming the old one to avoid overwriting). Now I get this: > FXC : error X3501: 'main': entrypoint not found – elect Jan 29 '19 at 10:26
  • I found [this](https://stackoverflow.com/questions/20363360/fxc-error-x3501-main-entrypoint-not-found) but I do not have any `HLSL Compiler` menu entry option available.. – elect Jan 29 '19 at 10:29
  • This error was already present in the error list posted in question. It looks like shader compiler does not like some shader for some reason. – user7860670 Jan 29 '19 at 10:30
  • It seems like I do have it, but in the `apiTest` program.. but then I do get other [errors](https://gist.github.com/elect86/ad6ca1a7e0968cb370f3f1e7bfecd1fa) – elect Jan 29 '19 at 10:44

0 Answers0