作者larkes (larkes)
看板C_and_CPP
標題Re: [問題] include
時間Tue Mar 4 19:34:47 2014
不好意思我順便問一個新手問題喔...
假設工作目錄改成這個:
/home/user
/home/user/proj/file1.h
/home/user/proj/file1.c
/home/user/other_src/file2.c
/home/user/other_src/file2.h
如果file1.c想要include file2.h ,
也就是跑這個指令include "file2.h"可以使用到file2.h宣告的內容,
有要事先做什麼前置動作嗎?
謝謝...
※ 引述《indept (真人)》之銘言:
: 我在 ubuntu 10.04 上用 gcc compile, 這是
: 就一個下載的大 project, xxx.tar.gz, 增加一些小的額外的功能
: 假設工作目錄, Makefile 在
: /home/user
: /home/user/proj/file1.h
: /home/user/proj/file1.c
: 如果 file1.c 要 include file1.h
: 該怎麼寫 ?
: #include "proj/file1.h"
: 還是
: #include "file1.h"
: 我用 "proj/file1.h"
: Makefile 會執行到
: gcc -c proj/file1.c -I. ....
: 可是在不同的環境下結果竟然不同
: 兩台都是 ubuntu 10.04, gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
: 當然環境只是大致相似, 應有細微的差異,
: 一台沒問題, 另一台卻發生找不到 file1.h 的 error message
: 請問這可能是怎麼回事呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.38.13
推 lsc36:#include "../other_src/file2.h" ? 03/04 22:16
推 lc85301:file.c在哪? 03/04 22:30
→ lantw44:如果不再同一個目錄下,編譯的時候可以加上 03/04 22:39
→ lantw44:-I/home/user/other_src 來指定搜尋路徑 03/04 22:39
※ 編輯: larkes 來自: 118.163.38.13 (03/05 00:05)
→ larkes:謝謝樓上三位, file.c是我打錯, 應該是file1.c 03/05 00:07
→ larkes:請問..."-I/home/user/other_src" 要加在哪裡呢? 03/05 00:08
→ larkes:只要在Makefile加上那一行,就可以了嗎? 03/05 00:09
→ bibo9901:那是給編譯器的參數, 大概會放在 $(CC) ... 後面 03/05 00:30