Jump to content
Posted 19 December 2012 - 12:23 AM
Posted 19 December 2012 - 03:43 AM
Posted 19 December 2012 - 03:56 AM
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>Fractals with Zoom.obj : error LNK2001: unresolved external symbol "void __cdecl debug(void)" (?debug@@YAXXZ)
1>C:\Users\rob\DevC++ source\MSVC++\freeglut\fractal\Dynamical system and fractals\Fractals with Zoom\Release\Fractals with zoom.exe :
Posted 19 December 2012 - 05:56 AM
While the missing debug() is indeed a problem, a more serious problem is the warning about MSVCRTD. Either you are mixing Debug and Release runtimes or you are mixing /MT and /MD builds. While it is indeed possible to use /NODEFAULTLIB to suppress the warning, this will not be enough in most cases and the program will crash (either persistently or weirdly and infrequently).
Posted 19 December 2012 - 12:38 PM
I'm not familiar with soil.lib, but you clearly miss a dependency for a function call probably looking similar to "debug ();" in file probably called "Fractals with Zoom.cpp".
My guess is that the named function only exists in debug mode (which makes sense, given the name ;-) ). Does it link in debug mode?
If so, following these steps to resolve the issue:
1) Open "Fractals with Zoom.cpp" ind Visual Studio
2) Switch to Debug|Win32 configuration
3) Find the call to "debug();"
4) wrap the function call like this:
[source lang="cpp"]#ifdef _DEBUG debug ();#endif[/source]
IIRC, Visual C++ defines _DEBUG by default in Debug configurations, so you should be able to use it. If , however, you undefined this for some reason, use whatever you defined in its place.
Hope that helped.