[爆卦]Lib是什麼是什麼?優點缺點精華區懶人包

為什麼這篇Lib是什麼鄉民發文收入到精華區:因為在Lib是什麼這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者sa901119 (ads901119)看板C_and_CPP標題[問題] 大程式架構 src ...

Lib是什麼 在 Wyman Wong 黃偉文 Instagram 的最佳解答

2021-09-24 05:05:49

. 一齊跟住唱返句「熬屋熬屋熬屋」先(做埋手勢呀吓) ! 好吧,應承了,就要講解(長文慎入): 為什麼我會說 Megahit 是近10年最難填的歌詞呢?(你估唔到居然係呢首呢?) 這首歌難,不是因為字數又多又密(係難,但跳舞歌係咁都好常見,時間同心機嚟嘅啫),而是因為 technical 層面...


遇到的問題: (題意請描述清楚)

因為課程需要的緣故,我必須使用學長提供的library,

但這是我第一次使用別人提供的lib,他的檔案架構如下

+include
| libpa.h
| pa_utility.h
|
+lib
| libpa.a
|
+src
| libpa.cpp
| pa_utility.cpp
| padump.cpp
| painfo.cpp
|
+bin
| painfo (執行檔)
|
Makefile


請問如果我今天要使用定義在libpa.h裡面的一個function "writeToFile"

我的testpa.cpp檔該怎麼include呢,

我試過 #include "libpa.h"

然後compile時寫 g++ testpa.cpp -o testpa -I ./include/ -L ./lib -lpa

但還是error " 'writeToFile' was not declared in this scope "

那請問要怎麼compile(-I -L參數??),或寫makefile呢?

懇請各位高手相助,謝謝。

或者提供相關資源,哪裡可以學到怎麼建立這種有src, include, lib等資料夾的程式

開發平台: Linux


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.252.248
※ 編輯: sa901119 來自: 140.112.252.248 (12/07 20:33)
james732:你的程式與他的程式的目錄關係? 12/07 20:37
sa901119:我的程式只有一行 wirteToFile("filename"); 12/07 20:39
sa901119:目的是使用他定義在libpa.h裡面的這個函式 12/07 20:40
sa901119:如果我把我的程式放在這整個目錄下 12/07 20:40
sa901119:就是放在上面架構的Makefile旁邊的話?? 12/07 20:41
tinlans:C/C++ 的大前提,就是識別字在使用前必須先宣告,你必須要 12/07 21:08
tinlans:確實 include 到有宣告 writeToFile 是什麼東西的 header 12/07 21:08
tinlans:檔,再來 g++ 的 -I 跟 -L 後面跟的 path 應該是連著的。 12/07 21:08
tinlans:如 -Idir 和 -Ldir,中間沒有空格,我也不曉得現在可不可 12/07 21:11
tinlans:以有空格 (有點懶得去試)。 12/07 21:11
sa901119:我把空格去掉了還是不行 12/07 21:23
sa901119:g++: -lpa: linker input file unused because linking 12/07 21:24
sa901119:not done 12/07 21:24
sa901119:我加了 -lpa 來compile之後出現上面那句 12/07 21:24
sa901119:但不加 -lpa 則會出現 12/07 21:25
sa901119:undefined reference to `C_PA::C_PA(char const*)' 等行 12/07 21:25
phterry:試試 g++ testpa.cpp -o testpa -I ./include/ lib/libpa 12/08 00:29
phterry:g++ testpa.cpp -o testpa -Iinclude lib/libpa.a 12/08 00:31
tinlans:去掉空格,參數位置放對,還是錯的話,就是其它問題。 12/08 07:25
tinlans: ^還有 12/08 07:27
phterry:空格是沒差的, 不僅是 -I, -L, -lpa 也可寫成 -l pa 12/08 10:37
ledia:-I -L 這些東西不都是要在 -o 之前嗎? @@" 還是沒這規定? 12/08 10:52
sunneo:不然先編成obj再弄成bin吧 12/08 15:13
sa901119:謝謝各位 真正的問題好像是那些library的.cpp也要一起編 12/10 03:47
sa901119:不然.h檔只有定義 他不知道怎麼implement 12/10 03:48

你可能也想看看

搜尋相關網站