mysql라이브러리를 정적으로 링크할려고 합니다.

rokmn3309의 이미지

안녕하세요..
libmysqlclient.a 파일을 링크 할려고 하는데 생각처럼 되지가 않는군요..
동적으로 링크는 잘 됩니다만은 정적으로 컴파일해 볼려고 하면은 에러가 발생하고 있습니다.
mysql을 설치시에 openssl관련 옵션은 다주고 설치했습니다.

컴파일은 다음과 같이 했습니다.

gcc -static -o mysql_test mysql_test.c -I/data/local/mysql-4.0.20/include  -L/data/local/mysql-4.0.20/lib/mysql -lmysqlclient -lz -lcrypt -ldl

에러는 크게 두분류로 나왔습니다.

/data/local/mysql-4.0.20/lib/mysql/libmysqlclient.a(mf_pack.o)(.text+0x701): In function `expand_tilde':
: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking


/data/local/mysql-4.0.20/lib/mysql/libmysqlclient.a(viossl.o)(.text+0x66): In function `sslaccept':
: undefined reference to `SSL_new'

-lssl 옵션을 주고 해봤을때는 나온 에러와 더불어 다른 에러들이 많이 나왔습니다.

익명 사용자의 이미지

저의 MakeFile입니다. static으로 컴파일하고 있구요 다른점은 크게

없고 static의 옵션 위치만 다르군요.

   1 #MakeFile by Jang Seung han In Spaceinternational
      2 #CDTower Linux Server ver 3.1
      3
      4 .SUFFIXES = .cpp .o
      5
      6 OBJECT = CDTSSvcx.o BroadCastServer.o JKHeader.o TransferProgram.o ClientProgram.o LCDFileServer.o LDDFileServer.o ManagerProgram.o
      7
      8 INC = -I/usr/local/mysql/include/mysql
      9 MYSQL_LIB = -L/usr/local/mysql/lib/mysql
     10 LIB = -lmysqlclient -lpthread
     11 TARGET     = cdt3_gdb
     12 TARGET_DEMON     = cdt3_demon
     13 SRCS = $(OBJECT:.o=.cpp)
     14 CC = g++
     15 CFLAGS = -g -c -D_REENTRANT -D_PTHREADS
     16
     17 all : $(TARGET) $(TARGET_DEMON)
     18 g   : $(TARGET)
     19 d   : $(TARGET_DEMON)
     20
     21 $(TARGET) : $(OBJECT)
     22     $(CC) -g -D_REENTRANT -D_PTHREADS -o $(TARGET) $(OBJECT) $(MYSQL_LIB) $(LIB)
     23
     24 $(TARGET_DEMON) : $(OBJECT)
     25     $(CC) -D_REENTRANT -D_PTHREADS -o $(TARGET_DEMON) $(OBJECT) $(MYSQL_LIB) $(LIB) -static -lz
     26
     27 .cpp.o :
     28     $(CC) $(INC) $(CFLAGS) $<
     29
     30 clean :
     31     rm -rf $(OBJECT) core
     32
     33 dep :
     34     gccmakedep $(INC) $(SRCS)

댓글 달기

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