簡體   English   中英

VS2015:與Muiload.lib鏈接時出現LNK2019錯誤

[英]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的替代方法是重新定義這些函數簽名以匹配其棄用的樣式:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM