這是因為gflags編譯時預設靜態庫需要在編譯時加入 dbuild_shared_libs=on選項,重新編譯gflags:
cd gflags/build
cmake .. -dbuild_shared_libs=on
make -j2
sudo make install
參考:
沒有找到靜態庫,gflags生成的靜態庫和搜尋的名字不同,需自己鏈結一下:
sudo ln -s /usr/local/lib/libgflags.a /usr/local/lib/libgflags_static.a
對於"cannot find -l"問題,我們需要知道what the linker is looking for最好可以run in verbose mode.
比如輸入
ld -lgflags --verbose
可以看到鏈結到**的gflags動態庫,這裡gflags可以替換成你要尋找的庫的名稱,在需要的時候可以建立乙個軟鏈結幫助系統找到依賴的庫 KEIL編譯檔案
keil rvmdk編譯後的資訊 program size code 86496 ro data 9064 rw data 1452 zi data 16116 code是 占用的空間 ro data是 read only 唯讀常量的大小,如const型 rw data是 read write 初始...
CMake編譯時踩得坑
1 找不到cmake make program 將qt中 mingw 編譯器的路徑 cmake make program d qt tools mingw730 64 bin mingw32 make.exe填入即可 2 qt5 dir d qt 5.12.2 mingw73 64 lib cmak...
Linux 編譯檔案時的 swp問題於vim命令
今天在虛擬機器上編譯文字文件時,編譯完成異常退出文字,而產生了.1.txt.swp,再次編譯或建立新文字時,會產生新的.swp檔案,而導致文字不能夠正常編譯。如 這種情況是因為存在異常退出而導致的,如果要編譯新產生的文字文件,此時我們要先把這個.swp檔案刪除,在使用vim 進行文字的編譯 刪除後,...