저는 C++로 큰 정적 라이브러리를 작성하고 있습니다. 그 라이브러리에서는 정적 라이브러리와 동적 라이브러리의 심볼을 사용합니다. 내가 "만들"때, 정적이기 때문에 lib에 링크 할 필요가 없습니다. 여기 내 문제가 : 내 정적 라이브러리 매우 일반입니다. 동일한 인터페이스에 대해 여러 구현을 제공합니다 (드라이버과 같은 구현을 볼 수 있으며 libA는 자체 구현을 제공하고 libB 등을 제공합니다). 그 중 일부는 플랫폼에 따라 다르기 때문에 함께 사용하도록 의도 된 입니다..정적 라이브러리를 통한 조건부 연결
내 lib에 링크 할 때 문제가 발생합니다. 고객의 코드가 lib의 기호에 의존하지 않더라도 클라이언트는 내 lib가 사용하는 모든 libs에 링크해야합니다. 예를 들어, 클라이언트 코드가 libA에만 의존하는 경우 내 정적 라이브러리에 libB의 일부 기호가 있기 때문에 그는 여전히 libB에 링크해야합니다.
이러한 동작을 방지하고 클라이언트의 코드에서 기호를 추론하여 실제로 사용되는 라이브러리에 대해서만 링크하는 방법을 알고 있습니까?
감사합니다.
기호는 정적 ** 또는 ** 동적 라이브러리에서 가져올 수 있습니다. 정적으로 만 연결할 수는 없습니다. – phaazon