라이브러리를 정적으로 링크하도록 gcc에 직접 알리기
어떤 라이브러리를 정적으로 연결 하려는지 -Wl,-Bstatic
알려면 사용 하기 가 이상합니다 gcc
. 결국 gcc
라이브러리 ( -Ldir
, -llibname
) 와의 연결에 대한 다른 모든 정보를 직접 말하고 있습니다 .
어떤 라이브러리를 정적으로 링크 해야하는지 gcc 드라이버에 직접 알릴 수 있습니까?
설명 : 특정 라이브러리가 정적 버전에만있는 경우을 사용하지 않고 사용할 수 -Wl,-Bstatic
있지만 gcc
정적 라이브러리를 선호 한다는 것을 알고 싶습니다 . 또한 라이브러리 파일을 직접 지정하면 파일과 연결될 수 정적 정적 및 동적 라이브러리를 동일하게 유지하는 것을 선호합니다.
물론 -l:
대신 사용할 수 있습니다 -l
. 예 -l:libXYZ.a
를 들어와 연결합니다 libXYZ.a
. 이지 주목 것에 lib
반대로, 기입 -lXYZ
하는 자동차가 확장 것이다 libXYZ
.
연결 명령에 .a 파일을 추가 할 수 있습니다.
gcc yourfiles /path/to/library/libLIBRARY.a
그러나 이것은 gcc 드라이버와 대화하는 것이 ld
아니라 링커와 같은 옵션 -Wl,anything
입니다.
gcc 또는 ld에게 "-Ldir -lLIBRARY"를 말하면 링커가 라이브러리의 정적 및 동적 버전을 모두 확인합니다 (프로세스를 볼 수 있음 -Wl,--verbose
). 라이브러리 유형의 선택된 순서를 변경하려면 -Wl,-Bstatic
및 을 사용할 수 있습니다 -Wl,-Bdynamic
. 다음은 gnu LD 매뉴얼 페이지입니다 : http://linux.die.net/man/1/ld
프로그램을 lib1, lib3 동적 및 lib2와 정적으로 링크 된 다음 gcc 호출을 사용하십시오.
gcc program.o -llib1 -Wl,-Bstatic -llib2 -Wl,-Bdynamic -llib3
ld의 기본 설정이 동적 라이브러리 (Linux에 있음)를 사용하는 가정합니다.
참고 URL : https://stackoverflow.com/questions/6578484/telling-gcc-directly-to-link-a-library-statically
'IT' 카테고리의 다른 글
자바 불변의 컬렉션 (0) | 2020.08.05 |
---|---|
선택하십시오. (0) | 2020.08.05 |
Android에서 Toast와 동일한 기능을 가진 iOS에서 메시지 표시 (0) | 2020.08.05 |
Java Swing에서 마우스 오른쪽 버튼 클릭 팝업 메뉴를 작성하는 방법 (0) | 2020.08.05 |
태그의 onclick 속성에서 발생하는 사용자 정의 함수에서 preventdefault를 호출하는 액세스 이벤트 (0) | 2020.08.05 |