GCC: 라이브러리를 여러 번 연결하면 "다중 정의" 오류가 발생합니까?

GCC: 라이브러리를 여러 번 연결하면 "다중 정의" 오류가 발생합니까?

Buildroot를 통해 생성된 툴체인이 있고 이를 사용하여 무언가를 정적으로 컴파일하려고 하는데 gcc"다중 정의"와 관련된 문제로 인해 빌드가 실패합니다. 이제 문제의 명령줄을 보면 gcc가 두 번 나타나는 link 옵션으로 실행됩니다 gcc -lpthread -lpthread.

Buildroot IRC에서 이 내용을 언급했는데, 동일한 라이브러리를 두 번 링크해도 문제가 발생하지 않는다고 들었습니다. 이거 진짜야? GCC는 정말로 충분히 똑똑한가? 다른 이유로 인해 컴파일이 실패할 수 있습니까?

답변1

아래 댓글에서 지적했듯이 내 질문에 대한 대답은 다음과 같습니다.아니요, 현재 링커가 너무 똑똑해서 문제는 다른 데 있는 것임에 틀림없습니다.

관련 정보