Latest Posts

Topic: Problems Building with Visual Studio

RichHolton
Avatar
Joined: 2022-09-08, 20:44
Posts: 23
Ranking
Pry about Widelands
Location: Rockford, Illinois, USA
Posted at: 2022-10-22, 22:38

I've followed the instructions at Build Widelands in Visual Studio, and have successfully built Widelands.

I can run the program and it apparently works (at least getting to the main menu). But when I look at the output (in Visual Studio) I see a bunch of errors. First, a bunch of:

Exception thrown at 0x00007FFE2412428C in widelands.exe: Microsoft C++ exception: LuaTableKeyError at memory location 0x000000F7E255E0B0.

Then I get one

Error 20 (this feature has not been implemented yet) in function AVolute::GetProductInfoT::<lambda_3920e95365a48b95dd51020986e9e351>::operator ()

A bunch more (a different memory location, for what it's worth)

Exception thrown at 0x00007FFE2412428C in widelands.exe: Microsoft C++ exception: LuaTableKeyError at memory location 0x000000F7E255D530.

When I exit, I get a bunch of

Exception thrown at 0x00007FFE2412428C in widelands.exe: Microsoft C++ exception: RT::EndOfTextImpl at memory location 0x000000F7E2553440.

I don't know if my environment is hosed, or what.

I cloned from master this morning (October 22). Widelands says Version 1.2~git25896 (19a9418@master) Debug

I'm using Visual Studio Community 2022 (64-bit) current. Microsoft Visual C++ 2022

Has anyone tried recently to build/run using Visual Studio 2022? Any suggestions?


Rich Holton

Top Quote
matthiakl
Avatar
Joined: 2020-10-30, 09:17
Posts: 8
Ranking
Pry about Widelands
Posted at: 2022-10-24, 21:04

Hi RichHolton,

this is normal, because Visual Studio prints information about every thrown exception. However, these exceptions are intended and caught and handled during execution. For example in textstream.cc:

    try {
        rv = till_any(chars);
    } catch (EndOfTextImpl&) {
        rv = text_.substr(pos_, end_ - pos_);
        consume(end_ + 1 - pos_);
    }

You can investigate this in detail when you go to Debug->Windows->Exception Settings and enable break on all C++ Exceptions.


Top Quote