Skip to content
Discussion options

You must be logged in to vote

This is not a broken package — it is a deliberate #error in MeshLib, and it is telling you that your application and the pre-built binaries disagree about _ITERATOR_DEBUG_LEVEL.

Why it happens

A Visual Studio Debug configuration defines _DEBUG, and the Microsoft STL then implies _ITERATOR_DEBUG_LEVEL=2. Non-zero iterator debugging makes MS STL containers dramatically slower, so all MeshLibDistVS* binaries are built with _ITERATOR_DEBUG_LEVEL=0 — that includes lib/Debug and app/Debug, which are otherwise genuine debug builds (unoptimized, with PDBs). Mixing the two values in one process changes the layout of every STL container (sizeof(std::vector<int>) is 24 vs 32, sizeof(std::string) 32 …

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@czc98
Comment options

Answer selected by czc98
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants