我試圖修改ns2中的一些C++文件,然後使用make命令重新編譯。儘管在make之後創建了新的.o文件,但輸出與以前的C++文件類似(在修改之前)。有人可能會建議可能是背後的原因。使用make命令在ubuntu中重新編譯
回答
確保您運行的是您新建立的ns2可執行文件 - 如果您只輸入ns2
,您將在系統上獲得已安裝的ns2二進制文件,但您尚未更改(除非您執行了make install
,它可能會將它安裝在不同的地方,將舊的地方留在原地)。
一般你需要運行./ns2
如果你想確保你在當前目錄中的可執行(這是可能您剛剛構建的一個,但檢查的Makefile和日期上的可執行是更有把握。)
謝謝。 ./ns2工作 – user697451 2011-04-08 19:15:54
這通常意味着你沒有編譯你的想法。嘗試重命名你的源文件,看看是否仍然「編譯」它(它不應該)。或者,確保您保存了編輯器中的更改。
感謝ethan的建議。我將源文件spin.cc重命名爲spin1.cc,它給出了錯誤make:*沒有規則來使目標'spin/spin.o','ns'所需。停止。 – user697451 2011-04-07 20:18:59
接下來我更改了makefile(在此更改了spin.o爲spin1.o)並做出了決定。 spin1.o文件被創建,模擬運行,但輸出與前一個相同。 – user697451 2011-04-07 20:21:09
爲了讓所有的編譯時間依賴關係,你會
sudo apt-get build-dep ns2
繼續獲得資源(46MB左右)和編譯
mkdir $HOME/ns2work
cd $HOME/ns2work
apt-get source ns2 --compile
你會完成。 (它在我的工作站中在2'55「內建ns2,ns2-doc和ns2-examples)。在源目錄內,你可以編輯源文件並運行'make'或者debuild來重建你的修改。這種方法(和debuild)你最終會在的mkdir $ HOME的.deb文件/ ns2work所以你(如果你想在幾臺機器),實際上可以乾淨地安裝
好運
- 1. 編譯在Fedora中使用'make'命令時出錯17
- 2. OpenCV make失敗 - 「用-fPIC重新編譯」
- 3. Google RE2庫無法在ubuntu中使用'make testinstall'進行編譯
- 4. 使用Make編譯
- 5. 如何使用特定的gcc編譯器運行make命令?
- 6. MacOSx - 使用make命令編譯C項目
- 7. byacc%使用make命令編譯時定義了語法錯誤
- 8. 編譯用make
- 9. 如何在Windows 7上使用Visual Studio的編譯器使用Vim的'make'命令編譯C程序?
- 10. 如何在新編譯器中使用舊命令?
- 11. make會在cygwin下截取一些編譯命令
- 12. Ubuntu 14.04 - 使用make-kpkg編譯內核失敗
- 13. 如何重新編譯Ubuntu Toolchain?
- 14. Make Play!在修改文件時重新編譯,而不是在瀏覽器刷新時重新編譯
- 15. SPSS:重新編碼命令
- 16. Emacs:如何編譯(運行make)而不必按編譯命令查詢輸入?
- 17. 自make命令
- 18. make:用不同的編譯器強制重新編譯相同的對象
- 19. 從Java執行make命令編譯其他程序
- 20. 在Ubuntu中使用clang ++編譯libC++
- 21. 使用硬編碼的make文件中的sed命令$
- 22. 編譯FFMPEG用於命令行使用
- 23. ubuntu上的反編譯和重新編譯apk文件
- 24. 命令行編譯
- 25. 使用opencv編譯accull命令
- 26. 編譯程序使用Windows命令行
- 27. 使用命令行編譯c#類
- 28. 使用命令行編譯xcode項目
- 29. 編譯Java使用命令行JAVAC
- 30. 命令行編譯使用cl.exe?
你重新編譯和鏈接使用.o文件的應用程序? – Duck 2011-04-07 19:40:22
是的,實際上我試圖模擬一個路由協議,參數即協議的名稱被輸入到運行的tcl文件中我修改了spin.cc文件生成spin.o文件 – user697451 2011-04-07 19:50:30