Thursday, April 7, 2016

баг с линковкой

Поймал такой баг в msvc:
есть проект static lib:
source1.cpp void f1() {...}
source2.cpp void f1() {...}

при компиляции выдался warning:
что впоследствии при линковке будет f1 использоваться из source1.cpp.

так вот, при линковке в 2 проектах:
1 проект - линкер выбрал f1() из source1.cpp
2 проект - линкер выбрал f1() из source2.cpp

gcc валится при сборке static lib когда duplicate symbols,
в отличие от warning msvc

No comments:

Post a Comment