![](/img/trans.png)
[英]errors error LNK2001: unresolved external symbol _deflateEnd in VC++
[英]VC++ LNK2001: unresolved external symbol only when compiling on 64bit
我已經制作了一個可以在32位模式下正常編譯的dll,但是在64位模式下進行編譯時(在32位Box交叉編譯和本機64位Box上)都出現上述錯誤。 它抱怨的符號如下:
"struct return_info_ * __cdecl patch_file(char *,char *,char *)"
我是C ++的新手,但我認為我已經正確定義了結構和簽名。 結構“ return_info_”的定義如下:
typedef struct return_info_
{
char *message;
int code;
} return_info;
在同一標頭中,我具有該函數的簽名:
return_info* patch_file(char* oldfile, char* newfile, char* patchfile);
全部都在本地c / c ++代碼中,該代碼被編譯為靜態鏈接庫。 然后,有了我們的主庫,該庫鏈接到此庫,它是與clr兼容的二進制文件。 為什么64位編譯器會引發這些錯誤?
標頭中的聲明看起來是正確的,但是由於某種原因,在您的64位版本中,未找到實際的實現。
這是在您的圖書館中定義的嗎? 它的64位版本可能未正確編譯。
如果此功能是您應用程序的一部分,請確保在64位構建過程中也包含了正確的源文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.