Поймал такой баг в 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
есть проект static lib:
при компиляции выдался 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