ubunu下的g++總結
發布文章
「tonydandelion2014」
gcc test.cpp -o test `pkg-config opencv --cflags --libs` -fopenmp -ansi -pedantic -wall -wextra -werror -pipe -lrt -lm -o2 -lstdc++
pkg-config opencv –libs –cflags
-fopenmp它的含義是讓它後面的語句按照多執行緒來執行。需要注意的是每個執行緒都去做相同的事情。
-ansi 是使用c++98標準去編譯**
-pedantic 允許發出ansi/iso c標準所列出的所有警告
-wall 選項意思是編譯後顯示所有警告。
-wextra 列印一些額外的警告資訊。
-werror 把警告當作錯誤。出現任何警告就放棄編譯。
-pipe 使用管道代替臨時檔案。
-lrt to link-in librt.a or librt.so, which is the realtime extensions library.鏈結到librt.a或librt.so,它是realtime extensions庫。
-lm 連線數學庫;-lm命令是使編譯的時候,鏈結數學庫
-o2 -o0表示沒有優化,-o1為預設值,-o3優化級別最高
-lstdc++ 在用gcc進行鏈結時,要加上 -lstdc++ 庫。且要放在最後。因為gcc是按從右到左的順序查詢依賴庫的。 如果沒有這一步,會在鏈結時提示錯誤: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: dso missing from command line
linux 下g 和 gdb的使用總結
用gdb編譯程式時,首先在編譯程式時加 g gcc g test.c o test 執行方法有兩種 gdb test 或者gdb file test gdb 可以做什麼?1 gdb 可以以除錯模式啟動程式。2 gdb 可以 attach 到正在執行的程序 3 gdb 可以分析 core 檔案中的資訊...
g 編譯總結
一 編譯注意細節 1.使用g 編譯cpp檔案如果用gcc編譯c 原始檔時,加以下選項 lstdc 否則使用了c 操作的檔案編譯會出錯。2.gcc g 在執行編譯時,需要4步 預處理,生成.i的檔案 使用 e引數 將預處理後的檔案不轉換成組合語言,生成檔案.s 使用 s引數 有彙編變為目標 機器 生成...
Red Hat下的g 安裝
再debian下直接apt get install gcc g 就可以了。按照類似的邏輯,再fedora下yum install gcc g 報告無法找到g 包。差了一下,原來這個包的名字叫做gcc c 完整的應該是yum install gcc gcc c 注意安裝時要先成為root使用者。還看到...