2015-04-29 2 views
1

У меня есть два проекта: Project A и B. проектнеразрешенный внешний символ (LNK2001)

Проект B ссылки проекта А.

Когда я компилирую, я получаю следующие ошибки:

LINK : warning LNK4044: unrecognized option '/MaxILKSize:2146435072'; ignored 
1>Testing.obj : error LNK2001: unresolved external symbol _IID_ITestIntOne 
1>Testing.obj : error LNK2001: unresolved external symbol _IID_ITestIntTwo 
1>Testing.obj : error LNK2001: unresolved external symbol _CLSID_WTest 
1> Wait PDB close: Total time = 0.000s 
1> Final: Total time = 1.547s 
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== 

Однако проект B не использует класс SecurityCenterIntegration, поэтому я не уверен, почему возникают проблемы при привязке к нему.

+0

Я предполагаю, что это визуальная студия (добавить тег?), Но какая версия? плюс, это похоже на COM-символы. является одним из проектов COM? – SHR

+0

@SHR VS2013 и не Project A является статическим lib, но с использованием COM-компонентов, которые объявлены в другом lib. – CodersSC

+0

Я предполагаю, что вам не хватает com lib, вы не можете добавить его в статический lib, вы должны добавить его в исполняемый файл. – SHR

ответ

1

Вам не хватает файлов или источников Project A. Убедитесь, что вы включили все зависимости в параметры проекта. Перейдите в «Свойства»> «Связать»> «Общие» и проверьте правильность дополнительных библиотек. Также добавьте любые дополнительные библиотеки и объекты в Properties> Linker> Input> Additional Dependencies.

+0

Спасибо за это, один быстрый вопрос .. в файлах vcproj есть дополнительный тег параметров ... знаете ли вы, где найти это в свойствах проекта в VS2013 – CodersSC

+0

Вы можете найти его в разделе «Свойства»> «C/C++»> «Все параметры» > Дополнительные параметры – Hakan

Смежные вопросы