'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를 사용함

이올린에 북마크하기(0) 이올린에 추천하기(0)

2009/01/30 11:44 2009/01/30 11:44
Trackback Address :: http://zemy.net/tc/zemyblue/trackback/144
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret

[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로 미리 생성한 후에 실행파일을 만들 때 적용시켜야 된다.

전 이거 때문에 이틀을 고생했건 것이 해결되어서 속 시원합니다. ^^
이올린에 북마크하기(0) 이올린에 추천하기(0)

2008/08/11 12:16 2008/08/11 12:16
Trackback Address :: http://zemy.net/tc/zemyblue/trackback/113
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret