在用gcc 編譯連接的時候,可能會遇到類似以下的錯誤:
/usr/bin/ld: test_desktop_utils-test-desktop-utils.o: undefined reference to symbol 'g_desktop_app_info_get_filename'
//usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: error adding symbols: DSO missing from command line
這個問題一般是由於gcc指令沒有引入正確的庫導致的,解決方法為:
原指令: gcc XXXXX
新指令:gcc XXXXX -lgio-2.0
也就是說在指令的末尾加上缺失的庫ibgio-2.0
具體可以參考:https://stackoverflow.com/questions/19901934/strange-linking-error-dso-missing-from-command-line