그래서 Stanford의 CS107 과정에 대한 과제를 진행 중이며 완성되지 않은 프로그램을 컴파일 할 수 없습니다 (프로젝트 파일 및 원래 메이크 파일은 found on the course page, 내가 할당 4 RSS에서 일하고 있어요.)32 비트 아키텍처 용 C 프로그램 컴파일 및 연결
을 많은 연구 후에, 나는 문제가 내가 64 비트 아키텍처 (맥 OS 10.6)와 미리 컴파일 된 라이브러리 코드에 GCC를 사용하고있다 생각 assn-4-rss-news-search-lib/linux
아래는 32 비트 아키텍처 용입니다. i386과 -m36을 사용하기 위해 gcc를 설정해 보았습니다.하지만 nothings이 작동하고 있습니다. 저는 그냥 짐작하고 있습니다.
gcc -g -Wall -std=gnu99 -Wno-unused-function -c -o rss-news-search.o rss-news-search.c
gcc rss-news-search.o -g -Wall -std=gnu99 -Wno-unused-function -g -lrssnews -L/Users/derp/Documents/OCW/CS107/Work/programming4/assn-4-rss-news-search-lib/linux -o rss-news-search
ld: warning: in /Users/derp/Documents/OCW/CS107/Work/programming4/assn-4-rss-news-search-lib/linux/librssnews.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
Undefined symbols:
"_URLConnectionDispose", referenced from:
_ProcessFeed in rss-news-search.o
_ParseArticle in rss-news-search.o
... several more undefined symbols mentioned ...
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [rss-news-search] Error 1
그래서 내가 요구 해요 : 내가 아키텍처 차이가 언급되는 곳 -lnsl
을 제거 할 때 다음
gcc -g -Wall -std=gnu99 -Wno-unused-function -c -o rss-news-search.o rss-news-search.c
gcc rss-news-search.o -g -Wall -std=gnu99 -Wno-unused-function -g -lnsl -lrssnews -L/Users/derp/Documents/OCW/CS107/Work/programming4/assn-4-rss-news-search-lib/linux -o rss-news-search
ld: library not found for -lnsl
collect2: ld returned 1 exit status
make: *** [rss-news-search] Error 1
내가 얻을 출력입니다 : 내가 make
실행할 때
그래서 여기에 내가 얻을 출력입니다 이 문제를 해결하기 위해 내가 할 수있는 것에 대한 아이디어. 나는 몇 시간 동안 설정을 조정하고 아무 쓸데없는 Google을 사용하고있었습니다.
당신은 C 코드 기간을 컴파일 할 수 있습니까? C에서 hello world를 작성하고 컴파일하려고합니다. 나는 OSX에서 gcc와 stdc lib에 문제가 있다는 것을 알고 있으므로 그렇게하지 않는 것이 좋다. – themaestro
각각의 도구와 백엔드가 설치되어 있다면'-m32'를 사용하십시오. 하지만 여기서 문제는 오류 메시지에서 그 문제와 직접적으로 관련이없는 것처럼 보입니다 ... – 0xC0000022L
그래, 실제로이 과정에서 C에서 1 톤의 코드를 작성했지만 분명히 과제 4와 6은 문제가있는 부분입니다. 일반적으로 Makefile은 제공되고 잘 작동하지만 실제 학생을 대상으로 스탠포드의 Linux/Solaris 시스템을 염두에두고 작성되었습니다. – theabraham