Run in terminal
莫名奇妙軟件無法在QtCreator中運行或者調試,main函數都無法進入,QtCreator中一運行就崩潰,并跳到匯編界面,這多半和代碼沒什么關系,我這里是將項目->運行中的“Run in terminal”去掉勾選,就可以進入main函數了。
/etc/ld.so.conf.d
如果依賴的庫不在運行程序的根目錄下,那么需要將依賴庫所在路徑配置到環境變量中去。一般使用LD_LIBRARY_PATH環境變量。LD_LIBRARY_PATH是Linux環境變量名,該環境變量主要用于指定查找共享庫(動態鏈接庫)時除了默認路徑之外的其他路徑。銀河麒麟系統內核是linux,所以也可以配置LD_LIBRARY_PATH變量,但是有時候配置發現不生效,命令行中打印LD_LIBRARY_PATH變量顯示不出配置的路徑,這時可以寫個conf文件,里面配置路徑,放到/etc/ld.so.conf.d中。
環境變量不生效
一般使用source /etc/profile命令讓新配置的環境變量生效,但是銀河麒麟中這個命令好像不管用,除了重啟機器,還可以使用注銷用戶的方式讓環境變量快速生效。
依賴庫問題定位
一般使用“ldd **.so”命令來查看**.so文件所需要依賴的庫是否都可以找到,一般會從當前目錄和環境變量目錄去查找;另外可以使用“ldd -r **.so”命令來執行對函數和對象的重定位并報告丟失的任何函數或對象,如果出現undefined symbol錯誤,那么就說明依賴庫存在問題,需要進行重新編譯。