위와 같은 에러는 도무지 종을 잡을 수 없었는데
아래의 문서에서 해결책을 찾았다.

# Makefile:10: *** commands commence before first target. Stop.

위의 에러는 '첫 번째 타겟이 나오기 전에 명령어가 시작되었다'는 애매한 에러 메시지이다. 필자가 경험한 이 에러의 원인은 주로 긴 문장을 여러 라인에 표시를 하기 위해서 '\'를 사용할 때, 이를 잘못 사용했기 때문인 것 같다. 즉 '\'부분은 라인의 가장 끝문자가 되어야 하는데 실수로 '\'뒤에 스페이스를 몇 개 집어넣으면 여지없이 위의 에러가 발생한다.

대처: 10번째 줄(근처)에서 '\'문자가 있거든 이 문자가 라인의 가장 끝문자가 되도록 한다. 즉 '\'문자 다음에 나오는 글자(스페이스가 대부분) 는 모조리 없애 버린다.

[링크 : http://wiki.kldp.org/KoreanDoc/html/GNU-Make/GNU-Make-8.html]

결론만 말하자면, 여러줄에 선언하는 녀석의 끝에 \ 가 제대로 들어가 있는지 확인하라는 것이다.
Posted by 구차니
SVN의 태그/브랜치는 CVS의 태그/브랜치와 다르다.
CVS의 태그/브랜치는 version에 박히는 것이라면은,
SVN의 태그/브랜치는 저장소에 복사를 하는 것이다.

그런 의미로 굳이
아래의 구조가 아니어도 상관이 없고, 사용자가 관리하기 편한대로 구조를 잡아도 된다는 것이다.




아무튼 태그/브랜치는 TortoiseSVN의 context-menu에서 Branch/tag로 들어갈 수 있으며

Branch/Tag를 누르면 아래의 다이얼로그가 뜨면서 복사할 URL을 물어본다.
기본적인 repository 구조라면, trunk 대신 tags/tag_number로 입력해준다.


그러면 그 위치로 현재 리비전을 복사해서, 새로운 tag를 생성한다.
(물론 내부적으로 복사하므로 매우 빠르고, 실제 데이터 크기가 크게 늘어나지도 않는다)


Repository Browser로 확인해 본, 태그 디렉토리
위에서 한대로 0.0.1 버전을 생성하였다.



Posted by 구차니
kscope는 KDE용 cscope의 GUI 프로그램이다.
솔찍히 대충써봐서인지 자세히는 모르겠지만
결과적으로 source insight를 대체하기에는 너무나 부족한 감이 든다.
물론 추적기능이라던가, 여러가지 있지만, 자동추적 기능이 없기 때문에 공백이 크게 느껴지는 것 같다.

아래는 kscope의 Project 메뉴이다.


Create Project를 하면 아래와 같은 dialog 창이 뜬다.

위에는 프로젝트의 이름( = 프로젝트 디렉토리의 이름)을 넣고
아래에는 프로젝트 디렉토리가 저장될 경로를 넣는다.
colinux portable ubuntu / ubuntu 9.04 에서 해봤는데,
/home이 아닌 곳에서는 아래와 같은 에러가 나므로, 되도록이면 $HOME(사용자 디렉토리) 에 생성하도록 한다.


프로젝트를 생성후, 소스 트리에서 소스파일들을 추가해준다.
Add/Remove files에 들어가면 아래와 같은 Dialog창으 뜨게 되고,
Add 에서 Directory 등을 이용해 파일을 추가한다. (이 부분은 source insight와 거의 유사하다)


만약에 *.c *.h 외에 다른 확장자가 필요하다면,
초기 프로젝트 생성시에 File Types에서 추가를 해주거나
Project 메뉴의 Project Properties에서 추가를 해주면 된다.


'프로그램 사용 > ctags & cscope' 카테고리의 다른 글

ctags 제약사항  (0) 2011.10.28
kscope 에서 특정 확장자 추가하기  (0) 2009.11.04
ctags format - CTAGS 출력 포맷/양식  (0) 2009.06.14
ctags  (0) 2009.01.07
Posted by 구차니
프로그램 사용/u-boot2009. 8. 19. 17:20
fw_printenv는 uboot에 포함된 tool이다
uboot/tool/env 에 존재하는 녀석인데
ethaddr을 값을 변경하려고 하니 에러가 발생하였다.

fw_setenv()의 리턴값은 30인데 아마도 EROFS가 30인듯 하다(errno.h에서는 발견하지 못한 변수이다.)
눈에 들어온 부분은 아래의 strcmp() 이다.
	/*
	 * Delete any existing definition
	 */
	if (oldval) {
		/*
		 * Ethernet Address and serial# can be set only once
		 */
		if ((strcmp (name, "ethaddr") == 0) ||
			(strcmp (name, "serial#") == 0)) {
			fprintf (stderr, "Can't overwrite \"%s\"\n", name);
			return (EROFS);
		}

		if (*++nxt == '\0') {
			*env = '\0';
		} else {
			for (;;) {
				*env = *nxt++;
				if ((*env == '\0') && (*nxt == '\0'))
					break;
				++env;
			}
		}
		*++env = '\0';
	}

아무튼, uboot에서 기본적으로 ethaddr과 serial#을 지원하고
이값들은, 한번만 write되고 수정되서는 안되기 때문에 제약사항으로 묶어놓은 듯 하다.
Posted by 구차니
Programming/C Win32 MFC2009. 8. 19. 12:06
ODBC - Open DataBase Connection
DAO - Data Access Object
ADO - ActiveX Data Object


OBDC는 db 연결을 위한 일종의 드라이버/API이고
DAO는 access에서 사용하는 로컬 database 파일에 접근하는데 유용하고
ADO는 개발에 편하고, 웹어플에서 주로 사용한다고 한다.

[링크 : http://blog.naver.com/hp925/80014754374]
Posted by 구차니
오늘은 5.1채널 앰프


갑자기 지르고 싶어지는게 첫번째 문제
그리고 앞으로 내 자리에 온 이상 내가 테스트를 맡게 될꺼라는 두번째 문제








이래저래 좋지 않아 ㄱ-
Posted by 구차니
Linux API/network2009. 8. 18. 14:51
vi /usr/include/linux/in.h

53 /* Internet address. */
54 struct in_addr {
55         __u32   s_addr;
56 };

char *inet_ntoa(struct in_addr in);

에서 사용하는 구조체이다.
단일 변수 하나의 구조체인데..
굳이 구조체로 만든 이유는.. IPv6 등을 위한걸려나..



사족 : 귀찮으면 int형으로 그냥 쓰면된다. 그런데.. 이 내용 저번에 적었던거 같은데... 기억이 안나네 -ㅁ-?
Posted by 구차니
아직도 전 노무현 대통령보다 좋게 보지 않고 있지만
그래도 한 획을 그으신 분으로 이러한 시국에 떠나시는게 석연찮다..

물론 이전부터 미리미리 서거에 대비해서 방송준비를 해놓는 건 알고 있었지만
서거 소식과 동시에 특집 방송...
Posted by 구차니
Linux API/network2009. 8. 18. 11:16
이 녀석들은 데비안 출신이었나?

5.3.5. The network interface with the static IP

The network interface served by the static IP is configured by creating the configuration entry in the "/etc/network/interfaces" file as the following.

allow-hotplug eth0
iface eth0 inet static
address 192.168.11.100
netmask 255.255.255.0
broadcast 192.168.11.255
gateway 192.168.11.1
dns-domain lan
dns-nameservers 192.168.11.1

When the Linux kernel detects the physical interface eth0, the allow-hotplug stanza will cause ifup to bring up the interface and the iface stanza will cause ifup to use the static IP to configure the interface.


[링크 : http://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_network_interface_with_the_static_ip]


간단하게 해석하자면, 물리적으로 연결이 되었음을 탐지하게 되면, 자동으로 설정을 실행한다는 의미이다.
(interface-eth0-를 up 시키고 iface구절을 실행함)


Check to see if a Network Link/Interface is up|down

ip link show eth0
//the iproute package is required. If there is no ip package, apt-get install iproute

If eth0 has a Network link, the following will be returned:
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:26:57:4e brd ff:ff:ff:ff:ff:ff

If eth0 has no Network link, the following will be returned:
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:26:57:4e brd ff:ff:ff:ff:ff:ff

The "UP" is the operative word.


[링크 : http://wiki.kartbuilding.net/index.php/Ifup-ifdown]


실제로 ifup, ifdown 시에 제대로 interface가 up / down 되었는지 확인하는 방법이다.
Posted by 구차니
개소리 왈왈/영화2009. 8. 18. 00:43
너 머야!
국가대표
머라고 똑바로 말해봐!!
대한민국 국가대표!



유치뽕짝하면서도 은근히 감동을 주는 대사이고
실화를 바탕으로 해서 감동을 끌어내주면서도
강하시의 그래픽 효과는 상당히 멋져서
정말 내가 타고 내려가는 것 만 같은 느낌이 든다.

그래도 아쉬운 건, 이야기를 풀어가는 긴장감이 없다는 점
개인적으로 킹콩을 들다의 긴장감(뻔한 진행과 진부한 대사임에도 불구하고)에 반에도 못 미치고
도대체 여주인공격인 이은성은 왜 나오는지 (시나리오상에서 코믹 역으로 약간의 존재감이..)
이러한 아쉬움을 남겨둔 채

마지막의 하이라이트 점프 부분은(머. 예고편에 나오지만) 감동 그 자체이다.

'개소리 왈왈 > 영화' 카테고리의 다른 글

불꽃처럼 나비처럼 (2009)  (6) 2009.09.26
[영화] BLACK (2009)  (8) 2009.09.06
영화 - 해운대 (2009)  (6) 2009.07.25
기대하지 않았던 대박 - 킹콩을 들다  (4) 2009.07.05
박물관이 살아있다 2  (2) 2009.06.06
Posted by 구차니