Поделиться через


Предупреждение средств компоновщика LNK4286

символ "символ", определенный в "filename_1.obj", импортируется filename_2.obj.

__declspec(dllimport) был указан для символа , даже если символ определен в файле объектов filename_1.obj в том же изображении. Удалите модификатор, __declspec(dllimport) чтобы устранить это предупреждение.

Замечания

Предупреждение LNK4286 — это более общая версия предупреждений средств компоновщика LNK4217. Компоновщик создает предупреждение LNK4286, когда он может указывать, какой файл объекта ссылается на символ, но не какую функцию.

Чтобы устранить LNK4286, удалите __declspec(dllimport) модификатор объявления из объявления вперед символа, на который ссылается filename_2.obj.

Хотя окончательный созданный код работает правильно, код, созданный для вызова импортированной функции, менее эффективен, чем вызов функции напрямую. Это предупреждение не отображается при компиляции с помощью параметра /clr .

Дополнительные сведения о объявлениях импорта и экспорта данных см . в dllexport, dllimport.

См. также

Предупреждение средств компоновщика LNK4049
Предупреждение средств компоновщика LNK4217
dllexport, dllimport