用VS2010創建了一個用于生成DLL的工程,該工程中會參考第三方的靜態庫,編譯鏈接的時候會出現warning LNK4049和warning LNK4217這兩個警告,不過可以生成DLL,但是生成的DLL注冊不了。第三方靜態庫在一個QT專案中是可以參考的。不知道是什么原因?求助大神。
uj5u.com熱心網友回復:
DLL的注冊和參考的靜態庫有什么關系嗎?DllRegisterServer 有匯出嗎?
uj5u.com熱心網友回復:
warning LNK4049和warning LNK4217這兩個警告可能是參考靜態庫編譯器配置不正確導致的,而生成的DLL在注冊的時候會報 DllRegisterServer failed 0x80040200的注冊失敗的錯誤。不知道是什么原因導致的。uj5u.com熱心網友回復:
在64位Windows下:64位exe和dll在目錄c:\windows\system32目錄下;
32位exe和dll在目錄c:\windows\syswow64目錄下;
所以要注意:
在win64位系統下注冊32位ocx或dll需要將32位ocx或dll拷貝到c:\windows\syswow64\目錄下。
且注冊要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/133301.html
標籤:進程/線程/DLL
上一篇:已知空間三維點坐標,用openGL的GL_TRIANGLES函式把三點連接起來形成三維曲面,如何對這個曲面進行貼圖
