共用方式為


連結器工具警告 LNK4286

'filename_1.obj' 中定義的符號 'symbol' 是由 'filename_2.obj' 匯入

__declspec(dllimport) 已針對符號指定,即使符號是在相同影像中filename_1.obj對象檔中定義也一樣。 __declspec(dllimport)拿掉修飾詞以解決此問題。

備註

警告LNK4286是連結器工具警告LNK4217的較一般版本。 當連結器可以告知哪個物件檔參考符號,但無法指出哪個函式時,連結器會產生警告LNK4286。

若要解析LNK4286,請從 filename_2.obj 中所參考符號的正向宣告中移除__declspec(dllimport)宣告修飾詞。

雖然最終產生的程式代碼運作正常,但呼叫匯入函式所產生的程式代碼比直接呼叫函式更有效率。 當您使用 /clr 選項進行編譯時,不會出現此警告。

如需匯入和匯出數據宣告的詳細資訊,請參閱 dllexport、dllimport

另請參閱

連結器工具警告 LNK4049
連結器工具警告 LNK4217
dllexport、dllimport