gcc로 공유 라이브러리를 만들려고합니다. vxworks 용 gcc입니다 (문제 일 수도 있습니다 ...).GCC가 플래그를 표시하지 않습니다.
나는 다음과 같이 GCC를 사용
./gcc -shared -B/path/to/gnutools/bin -o test.so test.c
결과 : 나는 리눅스 GCC와 같은 시도 할 경우
/path/to/ld: -r and -shared may not be used together
collect2: ld returned 1 exit status
, 아무 문제가 없다합니다. 그래서 VxWorks 용 gcc가 링커에 자동으로 -r (또는 동일하고 결과가 같은 -i) 플래그를 전달하는 것 같습니다. 이것을 막을 수있는 방법이 있습니까?
Greetz
마티
PS :
gcc -Wall -fPIC -c -o test.o test.c gcc -Wall -shared -o test.so test.o
: 그것은 정적 만드는 것은
입니까? 볼 수있는 쉘 스크립트이고, 편집 된 사본을 작성하여 -r을 제거 할 수 있습니까? –
예, 쉘 스크립트입니다. 그러나 그 안에 no -r 또는 -i가 없습니다. 방금 -B (바이너리) 및 -I (포함) pathes를 추가했습니다. 그리고 gcc를 직접 호출해도 아무런 변화가 없습니다. –