OpenSuse 11.1 x64 Box에 앉아 있고 sigC++를 사용하는 모듈이 있습니다. 이런 식으로 링크 할 때 : g++ [a lot of o's, L's and l's] -lsigc-2.0
을 라이브러리가 그러나 나는 /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/
하지만 정상적인 "--verbose"출력 인쇄 속에서 에러 메시지를 출력 : [...blah - dump of linker script...]
attempt to open blah1.o succeeded
blah1.o
attempt to open blah2.o succeeded
blah2.o
[...blah - more opens that succ
질문과 마찬가지로 : 우리는 GNU 링커를 사용하여 Linux에서 빌드하고 solaris ld을 사용하여 Solaris에서 빌드합니다. 동적으로 링크 된 실행 파일을 생성, 동적 심볼 테이블에 모든 기호를 추가 : GNU ld는 --export-dynamic 플래그를 지원합니다. 동적 기호표는 런타임에 동적 개체에서 표시되는 기호 세트입니다. solaris
어셈블리 파일과 .o 파일 (start.o 및 main.o)로 컴파일 된 c 파일을 가지고 있으며이를 ld와 연결하려고합니다.가 link.ld는 링커 스크립트,하지만 난 그것을 실행할 때, 난이 오류가 얻을 ld -T link.ld -o kernel.bin start.o main.o
: 어셈블리 파일에 start.o:start.o:(.text+0x2d)
공유 라이브러리를 만들 때 ./sl 파일 크기가 60KB보다 커집니다. 총 크기가 20KB를 초과하는 2 개의 .o 파일이 있습니다. utlities : ldd 및 elfdump를 검사하여 참조되는 라이브러리를 확인하십시오. 사용 된 원본 파일 외에도/usr/ccs/lib/pa20_64/lddstub 및 참조가 표시됩니다. 원본 파일 정보 : movelr1