g 編譯的小問題

2021-08-25 23:20:25 字數 454 閱讀 2389

在編譯時,對於靜態連線庫,老是報錯。如,我現在有個靜態庫,名字為: libdig.a

本來編譯的時候,寫的是 : g++ -o test -l. -ldig test.c

老是不成功。把 -ldig 拿到後面就行了。

g++ -o test -l. test.c -ldig

其實,想想也是,只有在編譯的時候才會去連線它。所以得把它們放到後面。放到前面就是在用它的時候,已經看不到了。

還有乙個經常犯的問題,就是對引數有const的情況,經常忘。

如:對於sort函式來講,比如,你想根據自己的邏輯進行排序,自己寫個函式。如果傳遞的是引用,一定要加上const。  如 bool vecsort(const pair&l, const pair&r)

其實,sort加const的目的應該是保證在排序過程中,不對原來的資料進行變化。如果採用值傳遞的時候,是可以不用加的。

gcc編譯時候的小問題

每次編譯標準c寫的 都會出現類似一下的warning warning incompatible implicit declaration of built in function strlen 之類的 但是每次都能編譯通過,原本不太在意,但是寫大makefile的時候,執行make難免有礙觀感,於是...

g 編譯thread問題

linux下測試std thread,在編譯完成後,執行程式的時候,提示以下問題 terminate called after throwing an instance of std system error what enable multithreading to use std thread ...

遇到的小問題

今天用vs2005編譯乙個專案的時候出現下面2個錯誤 dibimage.obj error lnk2019 無法解析的外部符號 cuda,該符號在函式 public bool thiscall cdibimage medianfilter char long,long,int,int,int,int...