동일한 이름을 가진 정적 및 동적 라이브러리 libclsocket.a 및 libclsocket.so가 있습니다. 링크하려는 라이브러리를 지정하면 간단히 라이브러리로 -lclsocket을 입력하면됩니다. 내 프로그램은 완벽하게 정상적으로 작동하지만 어떤 라이브러리를 사용합니까? 정적 라이브러리 또는 동적 라이브러리? 내 친구에게 내 프로그램을 제공하고 싶습니다. 릴리스에 라이브러리를 포함해야하는지 잘 모르겠습니다. C++, codelite, pcLinuxOS 2010리눅스에서 어떻게 정적 또는 동적 라이브러리에 연결하는지 알 수 있습니까?
11
A
답변
5
2
-static
플래그를 사용하면 모든 구성 요소가 고정됩니다. -l
에는 공유 라이브러리가 포함될 수 있습니다. 따라서 정적 라이브러리 파일 이름을 지정하면 (예 : /usr/lib/libfoo.a
으로, 앞에 -l
이 붙지 않음) 원하는 효과를 얻을 수 있습니다.
관련 문제
- 1. 개체가 생성자에서 정적 또는 동적으로 할당되었는지 어떻게 알 수 있습니까?
- 2. 정적 또는 동적 ips
- 3. XCode 정적 라이브러리에 동적 라이브러리와의 연결이 필요할 수 있습니까?
- 4. 정적 라이브러리에 연결
- 5. C++ 응용 프로그램 - 라이브러리에 정적 또는 동적 링크를 사용해야합니까?
- 6. 정적 라이브러리에 링크하는 정적 라이브러리에 연결
- 7. 어떻게 알 수 있습니까?
- 8. 정적 클래스라고 불리는 클래스를 어떻게 알 수 있습니까?
- 9. 정적 또는 동적 부스트 라이브러리가 있습니까?
- 10. 언어가 "동적 언어"인지 어떻게 알 수 있습니까?
- 11. 리눅스에서 동적 메모리 관리
- 12. 리눅스에서 공유 라이브러리에 대한 심볼 바인딩은 어떻게 작동합니까?
- 13. mapView가로드되었는지 어떻게 알 수 있습니까?
- 14. Qt를 동적 라이브러리에 연결하기
- 15. 아이폰의 카메라 라이브러리에 몇 개의 앨범이 있는지 알 수 있습니까?
- 16. UNIX는 정적 라이브러리 정적 라이브러리에 링크
- 17. xcode 프로젝트를 소스 코드가없는 정적 라이브러리에 구축 할 수 있습니까?
- 18. 어떻게 TextView가 클릭 베일인지 알 수 있습니까?
- 19. 타사 정적 라이브러리를 다른 정적 라이브러리에 연결
- 20. 프로젝트가 PSI에서 체크 아웃 또는 체크인되었는지 어떻게 알 수 있습니까?
- 21. .click() 또는 사용자가 이벤트를 실행했는지 어떻게 알 수 있습니까?
- 22. 창이 모달 또는 mdi 창인지 어떻게 알 수 있습니까?
- 23. MotionEvent가 상대적인지 또는 절대적인지 어떻게 알 수 있습니까?
- 24. 내가 이전에 편집 또는 생성에서 저장했는지 어떻게 알 수 있습니까?
- 25. JEditorPane/TextPane 문서 또는 페이지의로드가 완료되었는지 어떻게 알 수 있습니까?
- 26. x64 또는 32 비트 Solaris10인지 어떻게 알 수 있습니까?
- 27. 수업이 도우미 또는 서비스 인 경우 어떻게 알 수 있습니까?
- 28. ASP.NET 요청이 원격인지 또는 localhost인지 어떻게 알 수 있습니까?
- 29. PHP가 모듈 또는 CGI로 설치되었는지 어떻게 알 수 있습니까?
- 30. 내가 정적인지 또는 개체인지 어떻게 알 수 있습니까?
GCC로 빌드 할 때 '-static' 플래그를 지정하지 않았기 때문에 공유 객체에 연결하는 것이 가장 가능성이 큽니다. @Soo Wei Tan이 대답 했으므로 이진 파일에'ldd'를 사용하여 런타임 링커 의존성을 확인할 수 있습니다. – birryree
원하는 라이브러리를 정적으로 링크하도록 지정할 수 있습니까? – TheFuzz
라이브러리의 전체 이름을 전달하여 선택적으로 정적 링크 할 수 있습니다. 'gcc -o OutFile <소스 파일> -l : libclsocket.a'처럼. ':'에주의해라. 그것은 매우 중요하다. 이 동작에 대한 공식 문서를 찾고 싶습니다. 그러나'gcc'의 맨 페이지에는이 사용법이 언급되어 있지 않습니다. – birryree