看板 C_and_CPP 關於我們 聯絡資訊
不好意思我順便問一個新手問題喔... 假設工作目錄改成這個: /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