作者 主題: 請問 anjuta 如何引入自訂的static library  (閱讀 7727 次)

0 會員 與 1 訪客 正在閱讀本文。

hydedio

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
想請問有人知道anjuta如何在一個project內引入自己的static library
例如 此static library是自己寫的叫 libABC.a
我的作法是
1.add target 把此lib 加入
makefile.am中的寫好libABC.a的路徑

2.add source
把libABC.a 以及libABC.h加入  libABC.h是寫libABC.a內部function的原型

3.include libABC.h

但是當main.c中有去call lib 內的function時
就會出現錯誤
compiler不會過
沒去call那個libABC 的function就沒問題
請問這樣的動作 有哪裡遺漏嗎
謝謝

stlee

  • 鑽研的研究生
  • *****
  • 文章數: 817
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #1 於: 2007-04-01 01:33 »
http://phorum.study-area.org/viewtopic.php?p=226219#226219

代碼: [選擇]

2.add source
把libABC.a 以及libABC.h加入 libABC.h是寫libABC.a內部function的原型

您是宣告libABC.a裡面各函數的原型還是只有#includel "/xxx/xxx/libABC.a"
如果是後者就錯了

各路徑的對應以及編譯指令的對應也要注意
尤其在makefile裡面,查看看有沒有拼錯字或重覆宣告....
程式是人寫的,別讓工具的限制成為您想像力的極限
~程式中最重要的部份應該是註解而不是程式碼,這是因為解讀註解一定比解讀程式碼簡單
~程式寫好後約一個月就會忘的差不多了,所以花點時間把註解寫好至少能讓自己(或別人)看的懂當初在寫什麼

hydedio

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #2 於: 2007-04-03 18:39 »
是原型沒錯
之後還有遇到一個問題
訊息秀出
/root/Projects/ttb/src/Makefile.am:34: library used but `RANLIB' is undefined
/root/Projects/ttb/src/Makefile.am:34:
/root/Projects/ttb/src/Makefile.am:34: The usual way to define `RANLIB' is to add `AC_PROG_RANLIB'
/root/Projects/ttb/src/Makefile.am:34: to `configure.in' and run `autoconf' again.
/root/Projects/ttb/src/Makefile.am:37: variable `libmarco_SOURCES' is defined but no program or
/root/Projects/ttb/src/Makefile.am:37: library has `libmarco' as canonic name (possible typo)

想問是否我cinfigure.in要在加什麼東西嗎

謝謝
下面式我的Makefile.am
==========================================
## Process this file with automake to produce Makefile.in

## Created by Anjuta

gladedir = $(datadir)/ttb/glade
glade_DATA = ttb.glade

INCLUDES = \
   -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
   -DPACKAGE_SRC_DIR=\""$(srcdir)"\" \
   -DPACKAGE_DATA_DIR=\""$(datadir)"\" \
   $(PACKAGE_CFLAGS)
AC_PROG_RANLIB
AM_CFLAGS =\
    -Wall\
    -g

bin_PROGRAMS = ttb

ttb_SOURCES = \
   callbacks.c \
   callbacks.h \
   main.c \
   ../lib/libmarco.a \
   ../lib/libmarco.h


ttb_LDFLAGS =

ttb_LDADD = $(PACKAGE_LIBS)

EXTRA_DIST = $(glade_DATA)

lib_LIBRARIES= libmarco.a
libmarco_a_SOURCES = \
   ../lib/libmarco.a

stlee

  • 鑽研的研究生
  • *****
  • 文章數: 817
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #3 於: 2007-04-04 01:24 »
這個makefile是您自己寫的還是抄書上的???

如果是自己寫的應該錯誤訊息很明顯,可以抓出哪裡有問題了

如果是抄書上格式的(我有看過沒實做過),這種格式的我還沒學到耶(>"<)--->能不能成功以後分享一下呀^^!
程式是人寫的,別讓工具的限制成為您想像力的極限
~程式中最重要的部份應該是註解而不是程式碼,這是因為解讀註解一定比解讀程式碼簡單
~程式寫好後約一個月就會忘的差不多了,所以花點時間把註解寫好至少能讓自己(或別人)看的懂當初在寫什麼

hydedio

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #4 於: 2007-04-04 10:33 »
在anjuta開新專案時
他會幫你寫好configue跟makefile
固定的格式
如果要加額外的東西很像要自己填進去
現在是想試試看加入自己的library

stlee

  • 鑽研的研究生
  • *****
  • 文章數: 817
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #5 於: 2007-04-04 18:44 »
嗯......應該是'整合發展環境'下開發prj專案吧....以前用TC2.0時滿依賴這個功能的

如果是這樣的話找看看說明手冊上能不能開一個xxx.prj或之類的

而在這個xxx.prj內寫入您自訂的函數庫即可

編譯時就去選這個prj檔應該就可以了......反而變得很簡單了應該不用去makefile檔下手

沒用過 anjuta ....提供以前的做法給您參考一下
程式是人寫的,別讓工具的限制成為您想像力的極限
~程式中最重要的部份應該是註解而不是程式碼,這是因為解讀註解一定比解讀程式碼簡單
~程式寫好後約一個月就會忘的差不多了,所以花點時間把註解寫好至少能讓自己(或別人)看的懂當初在寫什麼

hydedio

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #6 於: 2007-04-12 16:33 »
前陣子已經試出來了
在anjuta左邊下面的檔案那邊點選專案
看得到你目前的專案名稱
對那個名稱點兩下會出現一個dialog
裡面有libraries的欄位可以填寫
在這就可以填入的資訊他會自動幫你寫入到makefile.am檔中

stlee

  • 鑽研的研究生
  • *****
  • 文章數: 817
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #7 於: 2007-04-12 16:44 »
引述: "hydedio"
前陣子已經試出來了
在anjuta左邊下面的檔案那邊點選專案
看得到你目前的專案名稱
對那個名稱點兩下會出現一個dialog
裡面有libraries的欄位可以填寫
在這就可以填入的資訊他會自動幫你寫入到makefile.am檔中


滿方便的....我想拋棄vi了^^!

能請問一下對中文的支援程度嗎....比如在edit能不能輸入中文
(以前遇到兩個很好笑的其中一個不能輸入中文,另一個可以輸入但必須在Xwindow下才可以,可能是我不會用的關係吧 :o )
程式是人寫的,別讓工具的限制成為您想像力的極限
~程式中最重要的部份應該是註解而不是程式碼,這是因為解讀註解一定比解讀程式碼簡單
~程式寫好後約一個月就會忘的差不多了,所以花點時間把註解寫好至少能讓自己(或別人)看的懂當初在寫什麼

hydedio

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #8 於: 2007-04-16 11:18 »
你指的修改是對程式碼嗎
還是對makefile

stlee

  • 鑽研的研究生
  • *****
  • 文章數: 817
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #9 於: 2007-04-16 15:10 »
是指在Edit下編寫文件(也可以說是程式碼吧,因為是IDE嘛)

在文字模式下有個問題,很像必須由應用程式經由curses函數庫去控制顯示及輸入介面

所以當掛入中文系統如CLE1.0時顯示可能會正確不過有些程式並無法分辨ASCII的127-255

所以在輸入中文時就變成了亂碼,不過在vi卻沒有這個問題

因為曾寫過關於edit的應用程式,所以知道這個問題是要看該應用程式是否對ascii的127-255

高位元的支援程度決定,不然很像掛入JMCCE或CLE都無法解決這個問題(只能對於輸出無法對輸入解成中文碼)

這只是對於純文字模式下的狀況而言,在Xwindow行程下的終端機模式很像某些文字處理

程式也有這方面的問題,雖然是很少部分可能會有問題,不過就是很討厭

所以想請問一下您現在用的這個IDE是否有此方面的困擾(Xwindow的就不用了,不喜歡那種圖形介面下的字型,不過拿來對整檔複製等工作倒是滿方便的)
程式是人寫的,別讓工具的限制成為您想像力的極限
~程式中最重要的部份應該是註解而不是程式碼,這是因為解讀註解一定比解讀程式碼簡單
~程式寫好後約一個月就會忘的差不多了,所以花點時間把註解寫好至少能讓自己(或別人)看的懂當初在寫什麼

hydedio

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
請問 anjuta 如何引入自訂的static library
« 回覆 #10 於: 2007-04-17 13:37 »
anjuta這個IDE tool 寫AP時我並不會用到中文的輸入值
所以我也不太清楚 不好意思