'gcc'에 해당되는 글 2건
gcc compile option :: 2009/01/30 11:44
자주 사용하는 gcc compile option...
가끔은 아주 기초적인 것도 까먹는다. ㅡㅜ 나이가 들었나?
| Option | 설명 |
| -c file | 해당 file을 compile |
| -o file | 실행 파일명을 file로 설정함 |
| -Wn |
Warning Level을 n으로 설정함. 대부분의 경우 모든 warning message를 보기위해 -Wall로 설정함 |
| -Ipath | Include directory를 path로 설정함 |
| -Lpath | Link를 위한 Library를 directory를 path로 설정함 |
| -llib | Link시 해당 lib를 같이 link하게 함 |
| -v | gcc의 version을 출력 |
| -On |
Optimize Level을 n으로 설정함 이 option을 주면 실행파일의 크기가 작아지고, 실행속도가 빨라지나 그만큼 위험성이 따름. 대부분의 경우 -O1 또는 -O2를 사용함 |
Trackback Address :: http://zemy.net/tc/zemyblue/trackback/144
[gcc] undefined reference to xxxx 해결 방법 :: 2008/08/11 12:16
undefined reference to xxx는 해당 함수를 다음과 같은 경우에 나올 수 있다.
1. 정의한 헤더파일을 include 하지 않았거나
2. 해당 라이브러리를 링크하지 않았거나
3, 각 라이브러리의 순서가 다를 경우
1, 2번의 경우는 include 시켜주거나 -l을 사용해서 라이브러리를 링크 시켜주면 된다.
3번의 경우에 만약 aaa라는 메소드가 liba.a에 있고 bbb라는 메소드가 libb.a에 있을 경웨 aaa가 bbb를 참조하는경우에는 -la -lb의 순서로 링크되어야 한다. 그런데 서로가 참조할 경우에는 순서에 문제가 생기므로 undefined reference to 의 문제가 생길 수 있다. 이럴 때에는 다음과 같이 재귀해서 호출하는 컴파일 명령어를 사용한다.
-Xlinker --start-group -la -lb --end-group
그리고 위 명령어는 source.c 파일을 바로 실행파일을 만들 때는 실행되지 않으므로 source.o로 미리 생성한 후에 실행파일을 만들 때 적용시켜야 된다.
전 이거 때문에 이틀을 고생했건 것이 해결되어서 속 시원합니다. ^^
Trackback Address :: http://zemy.net/tc/zemyblue/trackback/113


