RobotStudio event

EGM Setup for C++ with Microsoft Visual Studio 2022

Options
Hi all,
I'm trying to set up Externally Guided Motion (EGM) for a CRB 15000 GoFa Arm and an Omnicore Controller and I want to use C++ in VS 2022 for that. I find the ABB instructions and resources quite insufficient, and unfortunately most tutorials on installing Google Protobuf are at least two years old and a lot seems to have changed in the installation process since then. That's why it took me quite some time and Trial-and-Error to install Protobuf.
Now I want to run the egm-sensor.cpp example as a Console Application and managed to remove most compiler errors (it was definitely not plug+play), but:
  • I can only Build the project when the result is a .lib file, which means I set the Configuration Type to Static library (.lib) (see image)
  • For my understanding, I need some kind of executable file (presumably .exe) which is then executed together with the other program in RobotStudio, but when I use the Configuration Type "Application (.exe)" Visual Studio gives me 31 errors for "unresolved externals" from egm.pb.obj saying things like
    egm.pb.obj : error LNK2001: unresolved external symbol "public: __cdecl absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal(void)" (??1LogMessageFatal@log_internal@lts_20230125@absl@@QEAA@XZ)
Stack Overflow etc. suggest that the Project Type might be wrong, but I think Console Application is correct (?).

Here are the other Project Properties, which might have an impact on the problem, but changing them up didn't create a working solution for me...
  • Solution Configuration: Release (x64)
  • Precompiled Header: Not Using Precompiled Headers
  • Runtime Library: Multi-Threaded (/MT) (as this seems necessary for Release)
  • All the additional libraries are linked and can be accessed (which was a previous problem I had)
Now my problem is that I can't answer the following questions with the information resources from ABB:
  1. Do I need to Build the VS project in Release Mode? (I thought so because otherwise I'd have to use libprotobufd.lib instead of libprotobuf.lib in the egm-sensor.cpp example.)
  2. What type of output do I want/ expect from my Build in order to run EGM? .exe or .lib or something else?
  3. Is there an error in my VS Project Properties that prevents my Build from working?
  4. Did I forget something fundamental that my I wasn't aware of?
(I didn't change anything within egm.pb.cc since it says "DO NOT EDIT!")
I'm by no means a software engineer and am thankful for any advice I can get on the Setup of EGM! Thanks in advance. I know those are quite detailed questions but the process took me almost a week already and I am glad that I got this far by now.
(If there a detailed EGM C++ setup instructions somewhere hidden on the internet, I'm also happy for any advice.)