我在自己電腦上,主程式Release版,DLL debug和release版本都可以正常跑。
換到另外一個電腦,主程式release版,DLL debug版,程式就呼叫不了dll.
//呼叫判讀函式進行判讀
if (DllLibrary != "")
{
AfxMessageBox(DllLibrary);
m_hMod = LoadLibrary(DllLibrary);
}
if (m_hMod)
{
if (m_hMod)這個判斷就進不去。請問這是為啥?我現在還沒有試DLL release版行不行。理論上是這個版本問題嗎?
還是因為目標機器是XP的這個問題?工程屬性需要選擇支持xp模式。
我直接把我自己的debug版主程式拷到對方電腦報不是可執行程式是為啥?
問題有點多,望詳細解答
uj5u.com熱心網友回復:
可能缺少依賴庫, 試試靜態連接MFC庫或者Depends在運行不起來的電腦上查看缺少的依賴庫, 一起復制過去
uj5u.com熱心網友回復:
DllMain里做一些特定操作的話,LoadLibrary會死鎖的,也就是不會回傳,參見DllMain的檔案可以用Visual Studio Remote Debugger來遠程除錯。前提是依賴項要安裝在目標機器上,比如Debug版的Visual C++檔案要在你的程式目錄或者系統下。
uj5u.com熱心網友回復:
是否少依賴的庫,別人機器中沒這庫?uj5u.com熱心網友回復:
release依賴的庫系統一般會提供,debug依賴的庫一般只有安裝了IDE才會有的,比如msvcrtd.dll等以d結束的轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/27003.html
標籤:基礎類
