Hello, help deal with such a mistake (s):

1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library 1>App.obj : error LNK2019: unresolved external symbol "public: __thiscall b2World::~b2World(void)" (??1b2World@@QAE@XZ) referenced in function "void __cdecl OnTimer(void)" (?OnTimer@@YAXXZ) 1>App.obj : error LNK2019: unresolved external symbol "public: void __thiscall b2World::ClearForces(void)" (?ClearForces@b2World@@QAEXXZ) referenced in function "void __cdecl OnTimer(void)" (?OnTimer@@YAXXZ) 1>App.obj : error LNK2019: unresolved external symbol "public: void __thiscall b2World::Step(float,int,int)" (?Step@b2World@@QAEXMHH @Z ) referenced in function "void __cdecl OnTimer(void)" (?OnTimer@@YAXXZ) 1>App.obj : error LNK2019: unresolved external symbol "public: class b2Fixture * __thiscall b2Body::CreateFixture(struct b2FixtureDef const *)" (?CreateFixture@b2Body@@QAEPAVb2Fixture@@PBUb2FixtureDef@@ @Z ) referenced in function "void __cdecl OnTimer(void)" (?OnTimer@@YAXXZ)

I've been struggling with this for a long time ... The only thing I found on the net is this site . It seems like they have found a solution to this problem, but I don’t know English at all. Can you explain what the problem is and what to poke?

Thank.

    1 answer 1

    Here your problem is actually described: Error LNK4098 on MSDN

    They write that the error occurs when you try to use different versions of the same runtime library (for example, debug and non-debug, single-threaded and multi-threaded).

    Offer to try adding the /NODEFAULTLIB:libcmt.lib linker key

    • Can you describe in more detail how to add? Cv-va project, and where next? It's just that I don’t often look in there ... - Alerr
    • There is no studio at hand. On the / NODEFAULTLIB option page on MSDN , the following algorithm is proposed: 1. Open the Property Pages dialog 2. Click on the Linker 3. Click on the Input 4. Select Ignore All Default Libraries or specify the list of libraries in the Ignore Specific Library (your option, specify the libcmt library to be ignored .lib) After that /NODEFAULTLIB:libcmt.lib should appear in the Command Line property. If it does not help, you need to further understand. - northerner
    • It seems to have done everything, another error appeared: error MSB4030: "libcmt.lib" is the "IgnoreAllDefaultLibraries" parameter of the "Link" task. The "IgnoreAllDefaultLibraries" parameter is of type "System.Boolean". there is no line in Command Line /NODEFAULTLIB:libcmt.lib - Alerr
    • I wrote above: your version of Ignore Specific Library (Ignore All Default Libraries is not needed) - northerner
    • There are errors ... before I applied the Ignore Specific Library, this setting popped up with the message "there are errors" and errors:> 1> All outputs are up-to-date. 1>App.obj : error LNK2019: unresolved external symbol "public: __thiscall b2World::~b2World(void)" (??1b2World@@QAE@XZ) referenced in function "void __cdecl OnTimer(void)" (?OnTimer@@YAXXZ) 1>App.obj : error LNK2019: unresolved external symbol "public: void __thiscall b2World::ClearForces(void)" (?ClearForces@b2World@@QAEXXZ) referenced in function "void __cdecl OnTimer(void)" (?OnTimer@@YAXXZ).... 1> All outputs are up-to-date. 1>App.obj : error LNK2019: unresolved external symbol "public: __thiscall b2World::~b2World(void)" (??1b2World@@QAE@XZ) referenced in function "void __cdecl OnTimer(void)" (?OnTimer@@YAXXZ) 1>App.obj : error LNK2019: unresolved external symbol "public: void __thiscall b2World::ClearForces(void)" (?ClearForces@b2World@@QAEXXZ) referenced in function "void __cdecl OnTimer(void)" (?OnTimer@@YAXXZ).... - Alerr