wmayer wrote: ↑Thu Feb 10, 2022 1:16 pm
We all use C++17 as this is the minimum version for FreeCAD v0.20.
In order to fix the issue then it's probably best to ping Abdullah again to adjust the code. Will it be possible for you to test code changes locally to see if this fixes the issue before committing it?
I believe the code to be c++17 compliant and I do not see how the code may result in this linker error. Not understanding it, makes it difficult to see which tweak of the code may help.
Following the route of MSVC bug, I have searched for the link error and the MSVC version to see if there was some known bug or special behaviour. I have found nothing (not in MSVC documentation, Stackoverflow, or googling around).
I am not familiar with MSVC. If we need to use MSVC in Azure (i.e. if clang is not an option), then I think we should try to answer the question of why it works for Gene and it does not work in Azure, if the code is the same.
I make myself these questions:
- Are there different flags passed to the compiler or the linker in Azure and Gene? Could we compare the flags used?
- Is there maybe a flag causing to just pick one of the duplicated symbols if there are duplicated ones? (I mention this last because, when it works (Gene), either there are not duplicated symbols or the linker must silently pick one).
- Can we use a different version of MSVC in Azure?
Sorry I am not being useful.