作者sa901119 (ads901119)
看板C_and_CPP
标题[问题] 大程式架构 src include bin lib等资料夹怎麽用??
时间Mon Dec 7 20:33:14 2009
遇到的问题: (题意请描述清楚)
因为课程需要的缘故,我必须使用学长提供的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)
1F:→ james732:你的程式与他的程式的目录关系? 12/07 20:37
2F:→ sa901119:我的程式只有一行 wirteToFile("filename"); 12/07 20:39
3F:→ sa901119:目的是使用他定义在libpa.h里面的这个函式 12/07 20:40
4F:→ sa901119:如果我把我的程式放在这整个目录下 12/07 20:40
5F:→ sa901119:就是放在上面架构的Makefile旁边的话?? 12/07 20:41
6F:→ tinlans:C/C++ 的大前提,就是识别字在使用前必须先宣告,你必须要 12/07 21:08
7F:→ tinlans:确实 include 到有宣告 writeToFile 是什麽东西的 header 12/07 21:08
8F:→ tinlans:档,再来 g++ 的 -I 跟 -L 後面跟的 path 应该是连着的。 12/07 21:08
9F:→ tinlans:如 -Idir 和 -Ldir,中间没有空格,我也不晓得现在可不可 12/07 21:11
10F:→ tinlans:以有空格 (有点懒得去试)。 12/07 21:11
11F:→ sa901119:我把空格去掉了还是不行 12/07 21:23
12F:→ sa901119:g++: -lpa: linker input file unused because linking 12/07 21:24
13F:→ sa901119:not done 12/07 21:24
14F:→ sa901119:我加了 -lpa 来compile之後出现上面那句 12/07 21:24
15F:→ sa901119:但不加 -lpa 则会出现 12/07 21:25
16F:→ sa901119:undefined reference to `C_PA::C_PA(char const*)' 等行 12/07 21:25
17F:→ phterry:试试 g++ testpa.cpp -o testpa -I ./include/ lib/libpa 12/08 00:29
18F:→ phterry:g++ testpa.cpp -o testpa -Iinclude lib/libpa.a 12/08 00:31
19F:→ tinlans:去掉空格,参数位置放对,还是错的话,就是其它问题。 12/08 07:25
20F:→ tinlans: ^还有 12/08 07:27
21F:→ phterry:空格是没差的, 不仅是 -I, -L, -lpa 也可写成 -l pa 12/08 10:37
22F:推 ledia:-I -L 这些东西不都是要在 -o 之前吗? @@" 还是没这规定? 12/08 10:52
23F:→ sunneo:不然先编成obj再弄成bin吧 12/08 15:13
24F:→ sa901119:谢谢各位 真正的问题好像是那些library的.cpp也要一起编 12/10 03:47
25F:→ sa901119:不然.h档只有定义 他不知道怎麽implement 12/10 03:48