VS: Program can't start because missing libfftw3-3.dll - c++

I'm building my code in Visual Studio 2013 with FFTW 3.3.5 and OpenCV library.
Occasionally I could start my program and perform FFT functions, but sometimes I couldn't because of missing libfftw3-3.dll warning. It just happened so randomly and I didn't change any library dependencies in the settings before the problem appeared.
I also have tried to clean or rebuild solution but it didn't work. Much appreciated for any help.

[Solved] by closing VS then open the solution, clean and rebuild it. It's a weird thing.

Related

Updated Visual Studio, OpenCV Project No Longer Working

I had this working OpenCV project in visual studio 2017. I update Visual Studio to version 15.6.4 yesterday and the project no longer worked. The include files are still there, so are the dlls. The environment settings have not changed.
I tried opening other OpenCV projects that I know also worked for sure before the update and I'm getting the same error so I know my it's most likely not my code.
Here are the errors I'm getting:
I'd really appreciate any help if possible. It was a huge hassle for me getting the environment running the first time and now for this to happen is insanely frustrating, I just really want to start worrying about the actual code instead of all these inconvenient problems that are stopping me dead in my tracks.
After the update, the project was targeted for Windows SDK version 10.0.16299.0 which was not found on my device.
I right clicked on the solution and clicked retarget solution and that fixed the problem.

Issue in compiling an FLTK program

I'm having some really hard times in getting to run a first simple project with FLTK. At the moment I have followed the steps on this page
But when I try to compile my code I still get the error :
LNK 1104 impossible to open the file 'fltkjpegd.lib'.
Any idea on how to solve this issue ?
Add fltk libraries dependencies to your Visual Studio project as is described here

glew32.dll missing from computer

I'm building an engine from scratch, and it's going for the most part, going great, until I ran into an error. Which is glew32.dll is missing from your computer. I've tried to put the dll into a folder and include that into Visual studio 2013, but it didn't work.
Solution by OP
To fix it, add STATIC_GLEW to your pre-processing in properties/ C/C++

MSVCR100D.dll error at runtime

Ok , so i created a program using VC++ 2010. it ran just fine.
Got to work and could only install vc++ 8 due to having a crappy computer that is still stuck on xp sp2...
Everything will link up and build with no errors, But when the program starts to run i get "This application has failed to start because MSVCR100D.dll was not found"
I tried changing the runtime libary from MDd to MTd but still no luck...any idea?
That DLL comes with Visual Studio 2010. If you want to use your program, you'll somehow have to get your hands on it. If possible at your work, you can download it. Another (probably better) option would be to take it with you from home on a USB drive.
Edit: You can also try re-creating the project, and then copying the source code over into the new project. Your newly created project (in Visual Studio 2008) should not be depending on that erroneous DLL.
Edit 2: As Hans Passant added in a comment, this DLL is needed by Debug compilations of your program. So if you simply compile as Release, you can safely ignore the first part of my post. (I hope I'm not breaking gentleman rules by adding this to my post.)
MSVCR100D.dll is for debug mode, and is installed with visual studio 2010, since 2008 has MSVCR80D. You can just google that and download it, and put it in the same direcrory, or just complie in release mode.
here is a download link. You need the small download zip file button, not the big ones.
http://www.dll-files.com/dllindex/dll-files.shtml?msvcr100d
As I know, MSVCR100D is debug version of runtime library used by VC2010。So, if your point either is:
(1) you do not have that dll which you really need, you can download at http://www.dll-files.com/dllindex/dll-files.shtml?msvcr100d or
(2) you want to run that program without requirement of MSVCR100/D.dll, you may need to recreate a project in VC8, then substitute with your source files (not solution file or other files managed by Vistual Studio).
FYI: If my memory were not going wrong, I remember that a project created by higher version of VS cannot be opened directly by lower version one. So, how did you build them?

msvcp80d.dll not found while using TBB

I am using Intel TBB C++ for multithreading an application on visual studio 2008. When I run the executable I get a dialog saying "MSVCP80D.dll" was not found. There is so much on the net about this that it confuses me.
Please help.
EDIT: Based on answers, finally I was able to fix the "dll missing" problem. I had given a path to TBB lib of vc8 leading to dependency on vc8 dlls, which are used with visual studio 2005, not with 2008. (Using depends (http://www.dependencywalker.com/ ) it is easy to determine the run-time dependencies of an executable.) I changed by project to depend on vc9 dlls, not vc8 and then it worked fine.
Another thing to note is use of manifest files on windows. Manifest files describe dependencies. The manifest files must be generated while writing an application as it is necessary.
You can find them online at various places. Just scan it for a virus and put it in your program's path and everything should work fine. You may need more than one of the debug dlls, you can use depends32.exe to see what you are missing.
MSVC80D is VS 2005. As part of VS2008 you would have MSVC90D instead.
Your app is compiled with debug version. Debug version of VC runtime is not in path.
Try to generate release version.
Are you running the program on your development machine? If you are not, you might get this error. The "D" at the end of the filename means that the DLL is a debug DLL, and often not on computers without Visual Studio installed. You're not supposed to redistribute it (copy it around), either. You should compile a "release" version of your application and run that. If you really can't do that for some reason, and it's only one or two computers, then try installing the express version of visual studio on that computer.
If you are having this problem on your development machine, it can apparently be caused by a compiler/linker problem. Try doing a clean build ("clean", then "build" in Visual Studio).
Ok, after a lot of search, and by chance, I landed on this forum http://www.codeguru.com/forum/showthread.php?t=446789 which says something I interpret as "the version of TBB I am using does not support VS 2008".
But this still uncertain.