I have read this question on Stack Overflow. The answer is both thorough and correct, but I don't know why the word "against" is used when people talk about libraries. "Against" implies a conflict, but I would not include a library in my program that is actively counter to my goals. It seems to me that "link with" is more descriptive of my intentions than "link against".
Does anyone know why we use the phrase "link against" instead of "link with"?
There are lots of ways to suggest that one item is connected to or depends upon another.
A ladder leans against a building for support. One tests an argument against various counters to ensure it is sound.
"Against" is commonly used in mathematical or logical parlance in the latter way (but not the ladder way). In these situations, while one element is against the other, they are not in conflict.