![](/img/trans.png)
[英]LNK2019 Unresolved External Symbol in VS2015 when using Boost python3 and numpy3 libraries on Windows
[英]VS2015: LNK2019 error when linking with Muiload.lib
我正在嘗試包含muiload.h
和鏈接muiload.lib
並在Visual Studio 2015中調用LoadMUILibrary
時的下一個錯誤:
Muiload.lib(muiload.obj):錯誤LNK2019:未解析的外部符號__vsnwprintf在函數“long __stdcall StringVPrintfWorkerW(unsigned short *,unsigned int,unsigned int *,unsigned short const *,char *)”中引用“(?StringVPrintfWorkerW @@ YGJPAGIPAIPBGPAD @Z)
muiload.lib
可能有問題嗎?
解決了將附加庫legacy_stdio_definitions.lib添加到鏈接器輸入,如https://social.msdn.microsoft.com/Forums/en-US/5150eeec-4427-440f-ab19-aecb26113d31/updated-to-vs-2015中所述-and-現在已經得到懸而未決,外部錯誤?論壇= vcgeneral
鏈接legacy_stdio_definitions.lib
的替代方法是重新定義這些函數簽名以匹配其棄用的樣式:
int (WINAPIV * __vsnprintf)(char *, size_t, const char*, va_list) = _vsnprintf;
int (WINAPIV * __vsnwprintf)(wchar_t *, size_t, const wchar_t*, va_list) = _vsnwprintf;
這樣做的一個好處是它避免了包含遺留庫導致的其他可能的鏈接器定義問題。
請注意,這應該在編譯器單元(.cpp)中定義,而不是在頭文件中定義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.