Hibaüzenet visual studio-ban

Hibaüzenet visual studio-ban
2006-11-23T14:25:04+01:00
2006-11-24T09:05:47+01:00
2022-11-02T09:25:41+01:00
D4nnY
Az lenne a kérdésem, hogy mitől keletkezik a következő hiba:
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/dani.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

dani.exe - 2 error(s), 0 warning(s)

Visual Studio 6.0at használok, és az a furcsa, hogy ha 2005össel probáltam, akkor más hibát írt ki, ott az alábbit:
1>------ Build started: Project: natalán, Configuration: Debug Win32 ------
1>Compiling...
1>bitmap.c
1>d:\microsoft visual studio 8\vc\include\stdlib.h(406) : error C2381: 'exit' : redefinition; __declspec(noreturn) differs
1> d:\microsoft visual studio 8\vc\platformsdk\include\gl\glut.h(146) : see declaration of 'exit'
1>i:\szoba3d\bitmap.c(58) : warning C4018: '<' : signed/unsigned mismatch
1>i:\szoba3d\bitmap.c(81) : warning C4018: '<' : signed/unsigned mismatch
1>i:\szoba3d\bitmap.c(163) : warning C4018: '<' : signed/unsigned mismatch
1>i:\szoba3d\bitmap.c(170) : warning C4018: '<' : signed/unsigned mismatch
1>Build log was saved at "file://c:\Documents and Settings\user\Dokumentumok\Visual Studio 2005\Projects\natalán\natalán\Debug\BuildLog.htm"
1>natalán - 1 error(s), 4 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

nem tom, hogy mi lehet a baja:(
Előre is köszi a segítséget!
Mutasd a teljes hozzászólást!
Azt hiszem a válaszod a glut.h-ban kell keresni. De kiemelem ide ezt a néhány sort, amire gondolok:


/* Win32 has an annoying issue where there are multiple C run-time libraries (CRTs). If the executable is linked with a different CRT from the GLUT DLL, the GLUT DLL will not share the same CRT static data seen by the executable. In particular, atexit callbacks registered in the executable will not be called if GLUT calls its (different) exit routine). GLUT is typically built with the "/MD" option (the CRT with multithreading DLL support), but the Visual C++ linker default is "/ML" (the single threaded CRT). One workaround to this issue is requiring users to always link with the same CRT as GLUT is compiled with. That requires users supply a non-standard option. GLUT 3.7 has its own built-in workaround where the executable's "exit" function pointer is covertly passed to GLUT. GLUT then calls the executable's exit function pointer to ensure that any "atexit" calls registered by the application are called if GLUT needs to exit. Note that the __glut*WithExit routines should NEVER be called directly. To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */

Ha meg nincs kedved ezt végigolvasni, akkor csak fűzd be a kódba:

#define GLUT_DISABLE_ATEXIT_HACK

Remélem segítek.
Mutasd a teljes hozzászólást!

  • És mit tartalmaznak azok a sorok, amikre hivatkozik?
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • néztem már én is, de nem igazán értem, hogy mi lehet a gond!Valahol problémám lehet egy visszatérési értékkel?
    Igazság szerint openGL-ben programozok, és addig nem volt semmi baja a proginak, ameddig textúrázni nem kezdtem!először nem működött 2005 alatt, de működött 6.0 alatt!mostmár egyik alatt sem műxik!
    Mutasd a teljes hozzászólást!
  • nah, már eljutottam addig, hogy build-elni tudjam,
    de ha elindítom a progit, akkor hibát észlelve kilép
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • Azt hiszem a válaszod a glut.h-ban kell keresni. De kiemelem ide ezt a néhány sort, amire gondolok:


    /* Win32 has an annoying issue where there are multiple C run-time libraries (CRTs). If the executable is linked with a different CRT from the GLUT DLL, the GLUT DLL will not share the same CRT static data seen by the executable. In particular, atexit callbacks registered in the executable will not be called if GLUT calls its (different) exit routine). GLUT is typically built with the "/MD" option (the CRT with multithreading DLL support), but the Visual C++ linker default is "/ML" (the single threaded CRT). One workaround to this issue is requiring users to always link with the same CRT as GLUT is compiled with. That requires users supply a non-standard option. GLUT 3.7 has its own built-in workaround where the executable's "exit" function pointer is covertly passed to GLUT. GLUT then calls the executable's exit function pointer to ensure that any "atexit" calls registered by the application are called if GLUT needs to exit. Note that the __glut*WithExit routines should NEVER be called directly. To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */

    Ha meg nincs kedved ezt végigolvasni, akkor csak fűzd be a kódba:

    #define GLUT_DISABLE_ATEXIT_HACK

    Remélem segítek.
    Mutasd a teljes hozzászólást!
  • A Project/setting/link -nél nézd meg, hogy benne van-e ez a lib a library modulban és a project options-ban. Ha nincs tedd be.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd