도와주세요 undefined reference to `변수/함수'

unuseid의 이미지

본래 정상 빌드되던 어플리케이션 A와 B가 있는데
A에게 B가 사용하던 드라이버 소스를 합치려고 하는데 컴파일시 마지막에
undefined reference to `B와 관련된 변수/함수'
오류가 나면서 빌드가 완료 되지 않습니다.
아래는 make 동작후 log입니다

[sdna@vm:~/workspace/wakaama-server-lora]$ make
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o packet.o core/packet.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o management.o core/management.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o tlv.o core/tlv.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o discover.o core/discover.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o observe.o core/observe.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o registration.o core/registration.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o list.o core/list.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o objects.o core/objects.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o liblwm2m.o core/liblwm2m.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o bootstrap.o core/bootstrap.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o uri.o core/uri.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o json.o core/json.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o transaction.o core/transaction.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o data.o core/data.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o utils.o core/utils.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o er-coap-13.o core/er-coap-13/er-coap-13.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o platform.o examples/shared/platform.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o connection.o examples/shared/connection.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o memtrace.o examples/shared/memtrace.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o commandline.o examples/shared/commandline.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o object_device.o examples/client/object_device.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o object_location.o examples/client/object_location.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o lwm2mclient.o examples/client/lwm2mclient.c
examples/client/lwm2mclient.c: In function 'get_myIPaddr':
examples/client/lwm2mclient.c:163:5: warning: 'return' with a value, in function returning void [enabled by default]
     return 0;
     ^
examples/client/lwm2mclient.c: In function 'lora_rx':
examples/client/lwm2mclient.c:202:21: warning: passing argument 1 of 'output_buffer_simple' from incompatible pointer type [enabled by default]
                     output_buffer_simple(Buffer, BufferSize, 1);
                     ^
In file included from examples/client/lwm2mclient.c:100:0:
examples/client/./lora/output.h:12:6: note: expected 'uint8_t *' but argument is of type 'uint16_t *'
 void output_buffer_simple(uint8_t * buffer, int length, int indent);
      ^
examples/client/lwm2mclient.c:211:21: warning: passing argument 1 of 'output_buffer_simple' from incompatible pointer type [enabled by default]
                     output_buffer_simple(&Buffer[4], BufferSize - 4, 1);
                     ^
In file included from examples/client/lwm2mclient.c:100:0:
examples/client/./lora/output.h:12:6: note: expected 'uint8_t *' but argument is of type 'uint16_t *'
 void output_buffer_simple(uint8_t * buffer, int length, int indent);
      ^
examples/client/lwm2mclient.c:221:15: warning: passing argument 4 of 'pthread_create' makes pointer from integer without a cast [enabled by default]
               int state = pthread_create(&tid,NULL,thread_create_recvport,Buffer[3]);
               ^
In file included from examples/client/lwm2mclient.c:86:0:
/opt/arm-2014.05/arm-none-linux-gnueabi/libc/usr/include/pthread.h:244:12: note: expected 'void * restrict' but argument is of type 'uint16_t'
 extern int pthread_create (pthread_t *__restrict __newthread,
            ^
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o object_security.o examples/client/object_security.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o system_api.o examples/client/system_api.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o object_server.o examples/client/object_server.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o object_access_control.o examples/client/object_access_control.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o object_firmware.o examples/client/object_firmware.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o object_connectivity_stat.o examples/client/object_connectivity_stat.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o object_connectivity_moni.o examples/client/object_connectivity_moni.c
arm-none-linux-gnueabi-gcc -O2 -Icore -Icore/er-coap-13 -Iexamples/shared -Iexamples/client -Iexamples/client/lora -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread   -c -o test_object.o examples/client/test_object.c
arm-none-linux-gnueabi-gcc packet.o management.o tlv.o discover.o observe.o registration.o list.o objects.o liblwm2m.o bootstrap.o uri.o json.o transaction.o data.o utils.o er-coap-13.o platform.o connection.o memtrace.o commandline.o object_device.o object_location.o lwm2mclient.o object_security.o system_api.o object_server.o object_access_control.o object_firmware.o object_connectivity_stat.o object_connectivity_moni.o test_object.o examples/client/lora/sx1276-Hal.o examples/client/lora/rawudp.o examples/client/lora/sx1276.o examples/client/lora/spi.o examples/client/lora/gpio.o examples/client/lora/sx1276-Fsk.o examples/client/lora/sx1276-LoRa.o examples/client/lora/sx1276-FskMisc.o examples/client/lora/radio.o examples/client/lora/output.o examples/client/lora/sx1276-LoRaMisc.o -lm -o  lwm2mclient  
lwm2mclient.o: In function `lora_rx':
lwm2mclient.c:(.text+0xa38): undefined reference to `pthread_create'
lwm2mclient.c:(.text+0xb2c): undefined reference to `thread_create_recvport'
lwm2mclient.c:(.text+0xb4c): undefined reference to `RxPacketRssiValue'
lwm2mclient.c:(.text+0xb50): undefined reference to `RxPacketSnrEstimate'
examples/client/lora/sx1276-LoRa.o: In function `SX1276LoRaGetPacketSnr':
sx1276-LoRa.c:(.text+0x4fc): undefined reference to `RxPacketSnrEstimate'
examples/client/lora/sx1276-LoRa.o: In function `SX1276LoRaGetPacketRssi':
sx1276-LoRa.c:(.text+0x524): undefined reference to `RxPacketRssiValue'
examples/client/lora/sx1276-LoRa.o: In function `SX1276LoRaProcess':
sx1276-LoRa.c:(.text+0x12c4): undefined reference to `RxPacketSnrEstimate'
sx1276-LoRa.c:(.text+0x12dc): undefined reference to `RxPacketRssiValue'
collect2: error: ld returned 1 exit status
Makefile:34: 'lwm2mclient' 타겟에 대한 명령이 실패했습니다
make: *** [lwm2mclient] 오류 1
[sdna@vm:~/workspace/wakaama-server-lora]$ vi Make

d위 동작에 사용한 Makefile입니다

CC = gcc -g -ggdb
LD = gcc -g -ggdb
 
#CC = arm-none-linux-gnueabi-gcc
#LD = arm-none-linux-gnueabi-gcc
 
 
SRCDIR1 = core
SRCDIR2 = core/A
SRCDIR3 = examples/A-1
SRCDIR4 = examples/A
SRCDIR5 = examples/A/B-드라이버 소스폴더       < ----------------------------------이부분 추가
 
VPATH = $(SRCDIR1) $(SRCDIR2) $(SRCDIR3) $(SRCDIR4) $(SRCDIR5)
 
#CFLAGS = -O2 -I$(SRCDIR1) -I$(SRCDIR2) -I$(SRCDIR3) -I$(SRCDIR4) -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_SERVER_MODE -DDEBUG
CFLAGS = -O2 -I$(SRCDIR1) -I$(SRCDIR2) -I$(SRCDIR3) -I$(SRCDIR4) -I$(SRCDIR5) -DLWM2M_LITTLE_ENDIAN -DLWM2M_WITH_LOGS -DLWM2M_CLIENT_MODE -DLWM2M_BOOTSTRAP -std=gnu99 -lpthread
 
LDFLAGS = -lpthread
 
TARGET = lwm2mclient
 
SRCS = $(foreach dir, .. $(SRCDIR1) $(SRCDIR2) $(SRCDIR3) $(SRCDIR4) $(SRCDIR5), $(wildcard $(dir)/*.c))
SRCS := $(notdir $(SRCS))
 
OBJS = $(SRCS:.c=.o)
 
 
all: $(TARGET)
 
$(TARGET): $(OBJS)
	$(LD) $^ -lm -o $(TARGET) 
 
%o:%c
	$(CC) $(CFLAGS) -c $< -o $@
 
clean:
	-rm -f $(OBJS)
	-rm -f $(TARGET)
 
depend: $(SRCS)
	$(CC) -M $(CFLAGS) $^ > $@
 
-include depend

아래는 원래 B를 빌드할때 사용하던 Makefile 입니다

CC=/home/nodelink/opt/arm-2014.05/bin/arm-none-linux-gnueabi-gcc
#CFLAGS=-std=gnu99 -lpthread -lrt -DNOASSERT
CFLAGS=-std=gnu99 -lpthread
 
OBJS=main.o spi.o gpio.o sx1276.o sx1276-Hal.o sx1276-LoRa.o sx1276-LoRaMisc.o sx1276-Fsk.o sx1276-FskMisc.o radio.o rawudp.o output.o
 
TARGET = lora_gateway_semtech
 
.SUFFIXES : .c .o
 
all : $(TARGET)
 
$(TARGET): $(OBJS)
	$(CC) -lm -o $@ $(OBJS) $(CFLAGS)
 
clean :
	rm -f $(OBJS) $(TARGET)
Necromancer의 이미지

링크 옵션 지정 문제네요.

링크하는 라이브러리 순서에 따라서 문제 생기기도 하고요.
링크시에 -l 옵션만 넣으면 /etc/ld.so.conf에 지정된 경로에서만 라이브러리 찾습니다.
딴데서도 찾도록 할려면 -L까지 넣어야 합니다.

코드 만드신 분이 무슨 라이브러리 필요로 하는지 잘 아시겠죠.

Written By the Black Knight of Destruction

unuseid의 이미지

Necromancer 님 댓글에서 힌트를 얻어 빌드에 성공 했습니다!! 감사합니다!

bushi의 이미지

$(SRCDIR5) 문자열에 공백이 없어야 합니다.

`B와 관련된 변수/함수' 라 주장하시는 것들이 $(SRCDIR5) 디렉토리에 있는 *.c 파일들 중의 어느 것에든 구현되어 있는 게 확실한가요 ?

pthread 의 컴파일/링크 플래그는 -pthread 입니다.

$(LDFLAGS) 는 $(LD) 를 호출 할 때 사용해야 할 옵션입니다.

unuseid의 이미지

bushi 님 댓글에서 힌트를 얻어 빌드에 성공 했습니다!! 감사합니다!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.