:링커 스크립트에서 아카이브 파일을 추출 나는 다음과 같은 문제에 대처하기 위해 노력하고
내가에서 만든 라이브러리 libxyz.a가 있다고 가정 :
/* main.c */
int main(void)
{
int a;
}
컴파일과 함께 보관 :
gcc -c main.c -o abc.o && ar cr libxyz.a abc.o
정확하게 예상되는 위치에 abc.o를 삽입하려면 어떻게해야합니까?
나는 그런 방법으로 그것을 처리하기 위해 노력했다 :
/* script.ld */
SEARCH_DIR(.)
INPUT(-lxyz)
SECTIONS
{
.text : { xyz:abc(.text) }
.data : { xyz:abc(.data) }
.bss : { xyz:abc(.bss) }
}
하지만 실행 한 후 :
ld -T script.ld
를 내가 얻을 :
ld: cannot find xyz:abc
내가 어떤 예를 찾을 수 없습니다 포럼에서 링커 파일의 아카이브 압축 풀기. 내가 찾은 유일한 것은 archive:file
구조에 대한 정보 만 포함하는 링커의 설명서입니다.
좋아, LD 버전을 변경했습니다. 에러는 발생하지 않지만'objdump -t a.out'은 여전히'main' 심볼을 표시하지 않습니다 – nkdm