方案1:使看不到變化?
我檢出了一個項目,並對源文件做了一些更改,並確定了make,並看到了更改。
方案2:
我再次被檢出的項目不同的目錄下(由於某種原因),這裏複製的修改的源文件,並沒有做並沒有任何反應,如果我運行程序,我沒有看到我的更改,使得看不到我對此源文件進行了更改
方案1:使看不到變化?
我檢出了一個項目,並對源文件做了一些更改,並確定了make,並看到了更改。
方案2:
我再次被檢出的項目不同的目錄下(由於某種原因),這裏複製的修改的源文件,並沒有做並沒有任何反應,如果我運行程序,我沒有看到我的更改,使得看不到我對此源文件進行了更改
make
使用文件的時間戳確定要構建的內容。
也許你的版本控制系統正在用當前時間檢查所有文件。當你複製你的源代碼時,它已經有一段時間了,使make
認爲目標文件(大概在你的簽出中)比你的源代碼更新。
如果是這種情況,您可以使用touch
來設置文件的時間戳。
好的,我剛剛觸摸了複製的(修改過的)源代碼,現在可以識別這些更改。
添加到現有的答案:
觸摸的目標,你可以使用化妝的-t
或--touch
選項。這個選項不會製作目標,而只是觸摸它,以便下一次調用make
時,目標將被製作。
或者,您可以使用-B
或--always-make
選項,該選項將無條件地創建目標,而不管其依賴項的修改如何。
如果使用cp
複製文件選項-a --archive -p --preserve
將保留時間戳。那不是你想要的!
添加選項--no-preserve=timestamps
cp [options] --no-preserve=timestamps .....