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

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.

Related

How to compile the Zlib source code using Cmake

I'm trying to use the zlib library in a Visual Studio project I'm writing in C++ but I'm not quite sure how to compile it. I'm running Windows 7 and the source has a makefile so I figured I'd just download Cmake to compile it. Cmake ran perfectly fine with no errors (but 13 warnings) but now I'm left with what can be seen in the image below. What is my next step to compile the code? I figured Cmake would compile it since I had to specify Visual Studio when running Cmake. When trying to open the project files (which is what Cmake yielded) and attempting to compile the source that way, I get a weird access denied error. So yeah, have I gone about this process wrong?
Here's what I see after running Cmake
If I recall correctly, zlib does have the solution file included. It's in
contrib\vstudio\vc14
Try again compiling with that.
CMake is a high-level build manager, it produces a low-level build process files.
You choose to use Microsoft Visual, so it output MSVC project files (.vcproject and .sln). Next step is to open those files with Visual as you did.
So yeah, have I gone about this process wrong?
No you haven't. That weird access denied error must be investigated though.

Getting Juce to Work (Windows)

I downloaded Juce and VisualStudio2017 because through researches it seemed that Juce was a good way to create a GUI app dealing with midi files.
My problem is i can't even get to use the first examples of GUI !
I get this type of error, for multiple different files :
[...]\juce\modules\juce_core\native/juce_BasicNativeHeaders.h(135): fatal error C1083: Cannot open include file: 'wininet.h': No such file or directory (compiling source file ....\JuceLibraryCode\include_juce_audio_formats.cpp).
Can anyone help me ?
Looking for this wininet.h file into google doesn't appear to give me any help :/
It seems that Windows 10 SDK JUCE was targeting by default was broken - multiple files, like wininet.h mentioned by you are missing there.
There are a few ways you can fix it:
1) You can get the latest JUCE develop where it is fixed, in particular it was fixed here
2) You can instruct Projucer to use the fixed SDK version by changing Windows Target Platform to 10.0.16299.0 (make sure you have the latest version of Visual Studio 2017 and that you have downloaded the Windows 10 SDK version 10.0.16299.0) as shown...
...here
3) You can wait for the new official JUCE release where the fix will be included (i.e. available on master).
Sorry for late response, usually the quickest way to raise any issues is via visiting forum.juce.com

C++ OGRE3D VS2013: Error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1800'

I started to play around with OGRE and downloaded it. I use MS Visual Studio 2013 Express. I saw that there's no SDK for VS2013 so I downloaded the VS2012 one. Then I downloaded the Tutorial Framework, setted up the project like this and tried to compile it.
However, it didn't link. It gave an error "LNK1104: cannot open file 'libboost_thread-vc120-mt-gd-1_55.lib'". I tried to find the solution from SO, and I found one and tested it. I changed copied all of the libboost_*-vc110-mt-gd-1_55.libs, pasted them to same directory and renamed them to libboost_*-vc120-mt-gd-1_55.lib.
This worked to the first problem, but it gave another one, what I'm asking right now. I know this means that I'm using a library file what is compiled in wrong version of MSVC. I couldn't find the real libboost_*-vc120-mt-gd-1_55.lib.
Any suggestions?
As the error message states you are using incompatible binary versions. You cannot simply mix'n'match (neither the boost libraries nor the Ogre binaries).
Downloading the correct binaries for boost should help: Boost pre-built VS2013
The most flexible and quite easy option for Ogre on Windows however is to simply compile Ogre yourself. You can even disable to boost integration completely via CMake if you don't need it.

Compiling libffi with VS2012 fails with fatal error LNK1281: Unable to generate SAFESEH image

Compiling libffi with VS11 gives the following linker error
libffi\libffi-3.0.9\ms\Win32\Debug\ffi.dll : fatal error LNK1281: Unable to generate SAFESEH image.
The same project was compiling fine with VS10, but after an auto upgrade with VS2012, it started giving linker error
The Explanation in MSDN is too cryptic and least helpful
I might rebuild with /SAFESEH:NO , but I am unsure of the implication.
Please advise what might go wrong.
The main implication of not having SAFESEH is that your application won't be accepted for the Windows 8 store, or for Windows 8 desktop certification. If that's not an issue for you then feel free to use /SAFESEH:NO.
The documentation says:
The most common reason for the linker not to be able to produce an image is because one or more of the input files (modules) to the linker was not compatible with the safe exception handlers feature. A common reason for a module to not be compatible with safe exception handlers is because it was created with a compiler from a previous version of Visual C++.
Is it possible that the project upgrade to VS2012 changed the setting to /SAFESEH:YES. Perhaps you've never been building with SAFESEH.

Performing a WHIRLPOOL hash in C++

This sounds like a relatively simple question, but I haven't been able to get Crypto++ to work. I'm using Microsoft Visual C++ 2010 Express (I'm cheap) and the .vcxproj/.vcproj/.sln files included in the library simply don't work. There are a lot of files, too, and I'm just not sure what exactly I need.
So does anyone know of a solution I could just drop in or something? Reference implementations are fine as long as they're not ridiculously inefficient or something. Sorry for such a mundane question, but I've looked around myself and I couldn't find anything I need - I guess cryptography just isn't my area of expertise.
That being said, though, it would be nice to get Crypto++ to work, if anyone has a clue as to how I might get VC++ 2010 to load the project files. The error is extremely... not descriptive. It just says the project couldn't be loaded and gives me -2147483647 as an error number.
EDIT: Here's the Conversion Report error:
The following error has occurred during XML parsing: File: C:\Users\Kyle\Desktop\Exoterra\Dependencies\crypto\cryptlib.vcproj Line: 102 Column: 5 Error Message: System error: -2147154677. The file 'C:\Users\Kyle\Desktop\Exoterra\Dependencies\crypto\cryptlib.vcproj' has failed to load.
This is line 102 of cryptlib.vcproj:
Name="VCPostBuildEventTool"
EDIT (again): I got it to work. I deleted everything referring to x64 in the project file and now it converted properly. Thanks anyway.
Not sure what problem you had.
Download version 5.6.1;
Unzip the downloaded archive;
Double click on cryptest.sln;
Visual Studio will open and ask if you want to convert the project;
Say yes;
After a while Visual Studio will show the converted solution;
With the Express version you want be able to compile the resource files in Visual Studio. You will need to use the rc compiler from the Windows SDK to compile them.