오늘 처음 리눅스 프로그래밍을 하는데염(컾파일관련)

mizzhin의 이미지

오늘 처음 리눅스에서 프로그램을 만드는 사람입니다.
비쥬얼 씨뿔에서 짠 소스를 씨로 바꾸어

리늑스 서버에서 gcc -o 를 이용하여 컴파일을 했는데
이런 에러가 납니다

[mizzhin@46s source]$ gcc -o m main.c
main.c:164:2: warning: no newline at end of file
/tmp/ccGN1adG.o(.text+0x91): In function `main':
: undefined reference to `dlist_init'
/tmp/ccGN1adG.o(.text+0xa2): In function `main':
: undefined reference to `dlist_init'
/tmp/ccGN1adG.o(.text+0x263): In function `main':
: undefined reference to `dlist_destory'
/tmp/ccGN1adG.o(.text+0x298): In function `dlist_ele_init':
: undefined reference to `dlist_ins_next'
/tmp/ccGN1adG.o(.text+0x381): In function `data_in_str':
: undefined reference to `dlist_ins_next'
collect2: ld returned 1 exit status

문법에러 나는것들은 다수정을 해서 없애버렸는데 문법 에러를
없에니까 이런 에러가 나오는군여...어떤건지 알수가 없내염

원하시면 소스도 올릴께염

어떤 프로글램이냐하면..

이중 연결 리스트를 이용해서 엘리베이트 알고리즘을짜는건데
지금 짜는 중이거든여...일단 반완성된거

비쥬얼에선 잘 작동하는데 리눅스에선 컴파일 조차 되지 않내염..

여쭐 때가 없어서 이렇게 질문을 올립니다. 답변 부탁드리겠습니다.

그럼....

yui의 이미지

mizzhin wrote:
오늘 처음 리눅스에서 프로그램을 만드는 사람입니다.
비쥬얼 씨뿔에서 짠 소스를 씨로 바꾸어

리늑스 서버에서 gcc -o 를 이용하여 컴파일을 했는데
이런 에러가 납니다

[mizzhin@46s source]$ gcc -o m main.c
main.c:164:2: warning: no newline at end of file
/tmp/ccGN1adG.o(.text+0x91): In function `main':
: undefined reference to `dlist_init'
/tmp/ccGN1adG.o(.text+0xa2): In function `main':
: undefined reference to `dlist_init'
/tmp/ccGN1adG.o(.text+0x263): In function `main':
: undefined reference to `dlist_destory'
/tmp/ccGN1adG.o(.text+0x298): In function `dlist_ele_init':
: undefined reference to `dlist_ins_next'
/tmp/ccGN1adG.o(.text+0x381): In function `data_in_str':
: undefined reference to `dlist_ins_next'
collect2: ld returned 1 exit status
그럼....

메세지에 써있는 그대로 입니다.
예를 들어 처음 것은
main 함수 내에서 dlist_init라는 심볼을 쓰는데 이게 정의되지 않았다는 겁니다.
main.c 파일 내에서 dlist_init, 기타 에러 메세지에 나온 함수를 다 정의하셨나 살펴보세요.
혹시 다른 파일에 정의해두셨는데 main.c만 컴파일하셨을 수도 있겠네요.

diah의 이미지

dlist_init, dlist_destory, dlist_ins_next
이 세개의 함수가 들어가 있는 헤더파일이 포함 되어 있는지 확인해보세요.
물론 헤더파일이 포함되면 해당 파일도 컴파일시 링커가 되면 좋구요. 아마도 그런쪽 문제 같습니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.