Most likely, the problem is that freeglut is a debug library, not a release library, and therefore tries to associate it with a debug DLL. There is probably a version of freeglut in release mode, and you need to change the project configuration to use this freeglut library instead.
However, there is a deeper problem: how can you verify this? What if there is another library causing the problem, or what if it is a fuzzy setting in your own executable? I found the Dependency Walker tool to be very useful. His page claims to be included in Visual C ++, but I could not find it in any of my Visual C ++ installations (possibly because I did not install all the additional components). Please note that the included help file did not work for me either, but you can view the contents of the help file on a web page.

Type of dependencies freeglut.dll. I highlighted the specific C Runtime used by this version of FreeGLUT - yours is probably different. The list of functions on the right shows you what MSVCRT is exporting, and the highlighted ones are those that are apparently used. For example, it looks like this version of FreeGLUT uses the new operator. If your names are garbled, press F10 to decompose the C ++ names and see what these functions are. All missing DLL files look like "delayed" DLLs (see Hourglass), so they probably are not a problem.
I used Dependency Walker to find out a lot of unpleasant DLL problems. Although this may be too large for your specific problem, I think itβs nice to know which tools allow you to see the problem, and not just bring it out there.
Ahelps
source share