문제점을 설명해 드리겠습니다 : OpenCV libopencv_core.so를 사용하는 공유 라이브러리 libMyLib.so를 작성했습니다.NetBeans를 사용하는 Linux의 공유 라이브러리에서 두 번째 레벨 종속성 숨기기
내 라이브러리 (libMyLib.so)를 사용하는 응용 프로그램을 작성할 때 OpenCV 라이브러리 (즉, 암시 적 링크)의 사용을 숨기고 싶습니다.하지만 불가능합니다. libopencv_core.so에도 명시 적으로 링크해야합니다.
어떻게해야합니까? 가능한가요 아니면 그것을 숨기기 위해 OpenCV를 정적으로 내 라이브러리에 연결해야합니까?
NetBeans 7.3.1을 gcc 4.7.3 및 ld 2.23.2와 함께 사용하고 있습니다.
도움 주셔서 감사합니다.
글쎄 내 문제에 대한 해결책은 OpenCV를 libopencv_core.a 등으로 정적으로 링크하여 캡슐화하는 것이 될 것이라고 생각한다. 문제는 아니지만 여전히 궁금하다. lib.so는 여전히 시스템 libs.so가 필요하다. 물론 그들에게 명시 적으로 링크 할 필요는 없습니다 ... ;-) –
사실입니다. 기호를 숨기고 싶습니까? – ash
예! 실제로 저는 OpenCV의 존재를 숨기고 싶습니다. 나는 그가 lib를 사용할 때 OpenCV에 대해 알고 있어야한다는 것을 알지 못한다. 당신의 대답을 읽고 조금 생각한 후에 저는 OpenCV를 정적으로 재구성 할 것이고 이런 방식으로 이런 라이브러리를 만들 것입니다. –