0

My friend is trying to compile OpenDDS from here: OpenDDS Insall Directions

I have no code.. but i need this to make pastebin work?

She has followed that link to a T. And it produces these errors: Errors

Here is the full output from Visual Studio: Output

The interesting part:

I can compile it just fine using the instructions from that link in the top. I have done more coding than she, so something is installed that is allowing it to compile without issue, she has a clean install of Visual Studio Community, I have Visual Studio Enterprise (Both 2019) - I do not think the versions should matter, but shared for better understanding.

From what I can gather from the errors, there is a problem locating files on her machine, and not mine. Why it can't find files? I have no idea... I am really confused with why it works for me not her.

I even went and made a VirtualBox Machine with windows 10 on it, and I get the same errors there.

Any and all help is super appreciated, thank you!

Seth
  • 1,769
  • 4
  • 26
  • 39
  • 1
    All questions here should have all relevant information ***in the question itself as plain text***. Links can stop working at any time making questions meaningless. Code, data, or errors, shown as images cannot be copy/pasted; or edited or compiled for further research and investigation. Please [edit] this question, removing and replacing all links and images with all relevant information as plain text. All code must meet all requirements of a [mre]. You can find many other questions here that explain everything in plain text, please use them as an example for how your question should look. – Sam Varshavchik Aug 30 '20 at 22:46
  • You want the full error log i'll give you the full error log.. – Seth Aug 30 '20 at 22:53
  • Do the two of you run the *exact same* version of VS 2019? Parts of the Standard Library have been refactored in recent builds, and this looks like a case where `` was assumed to be `#include`'d implicitly by some other header, but no longer is. – dxiv Aug 30 '20 at 22:54
  • @dxiv No. I have enterprise, she has community edition. However, they are both 2019. I saw this as well, and was very confused. Could this truly be the problem? I didn't see anything specific with the building instructions, I will give her Enterprise to try. – Seth Aug 30 '20 at 22:58
  • @Seth Check the version (e.g. 16.7.2 in help/about), not the edition (enterprise vs. community). – dxiv Aug 30 '20 at 23:00
  • @dxiv ahh. Yes I have 16.1.2, she has 16.7.2 – Seth Aug 30 '20 at 23:04
  • 1
    @Seth That could be the problem, see for example the "*one downside...*" note under "*Header Inclusion Restructuring*" in [C++17/20 Features and Fixes in Visual Studio 2019](https://devblogs.microsoft.com/cppblog/cpp17-20-features-and-fixes-in-vs-2019/). That was written for the original v16.0 release, but there have been more such breaking changes since. – dxiv Aug 30 '20 at 23:15
  • @dxiv Wow.. Thanks! I will see if I can get an older version of Visual Studio for her. That would also explain why it didn't work in my VirtualBox too, same Visual Studio version as her. – Seth Aug 31 '20 at 00:04
  • @dxiv Question, what should I try next if this doesn't work? I am currently downloading and installing Visual Studio 2017. I'm afraid to update my VS due to not being able to revert. – Seth Aug 31 '20 at 00:46
  • @Seth I am not familiar with either OpenDDS or your setup, so... On a general note, I would advise against attempting to downgrade VS in any way, shape or form. If you want to install a previous version better run it in a VM. – dxiv Aug 31 '20 at 00:58
  • 1
    You could also try to hack the OpenDDS headers and `#include ` where needed, but that may not be the only broken dependency. And/or report the build errors to OpenDDS and hope for a resolution. – dxiv Aug 31 '20 at 01:04
  • @dxiv Thank you. I am doing this in a VM. That is why I am willing to basically throw anything at it. However, if this also does not work, I will try to fix the source, debugging my own code is way easier than someone else's. But thank you for your help! – Seth Aug 31 '20 at 01:27

1 Answers1

1

This was fixed in this PR: https://github.com/objectcomputing/OpenDDS/pull/1701, but that hasn't made it into a release yet. I can't comment in the comment chain above, but dxiv is correct that this is caused by an include dependency that broke in VS2019. It's only in the dds/DCPS/Serializer.h header though, so just having your friend change that file to how it is in the PR should allow it to build.

Fred Hornsey
  • 309
  • 1
  • 10
  • Ahhhhh. This is stupid and needs to be more easily find-able. She spent like 4 days figuring this out. xD When I looked at it, I thought visual studio used the "plugins" like vsRedist, etc, and the core of studio was at fault. Thank you SO MUCH! – Seth Aug 31 '20 at 02:21
  • Also, VS 2017 worked. But this helps with the 16.7 build of 2019. Thank you so much @FredHomsey – Seth Aug 31 '20 at 02:27