c++調用動態庫失敗解決辦法

之前寫好的程序今天早上過來發現在服務器上出錯了,於是就各種查問題,整整一個早上外加下午兩個小時都在查這個問題,最終被我找到了問題;

在程序中我發現LoadLibrary()返回的句柄是空的,於是用GetLastError()看了一下,返回值是193,因此可以斷定應該是動態庫出問題了,所以就用Depends查看了一下程序中依賴的動態庫,發現該動態庫還缺少另外的一個動態庫,導致程序在加載過程中出現了錯誤,現在才回想起來,之前因爲新需求,在原有的動態庫上添加新功能,從而調用了另外的一個庫,但是在更新服務器程序的時候忘記把最後依賴的動態庫更新到服務器上,因此纔出現了這個問題,問題雖小,但是也算是一個教訓吧,以後一定會記住的。

如果程序動態庫調用失敗,我個人覺得首先就行該查看一下這個庫是不是依賴其他的庫,在此可以藉助Depends查看,如果都不缺,那麼就應該查看導出函數的導出方式和主調程序的聲明方式是否一致,最後就是確定調用庫函數的接口參數是否有問題了。

這裏是Depends下載地址:http://download.csdn.net/download/github_37567324/9966289

發佈了31 篇原創文章 · 獲贊 14 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章