2015-11-06 2 views
3

Недавно я хотел начать обучение сбору, но у меня возникла проблема с настройкой моего проекта для сборки.Visual studio 2015 C++ и сборка не здание

Я хочу иметь проект C++ и сборки, но в настоящее время он не работает. Мой код сборки показано ниже строит просто отлично:

ExitProcess PROTO 

.data 

.code 

main proc 

    mov rax, 8 

    mov rcx, 0 
    call ExitProcess 

main endp 

end 

но в тот момент я добавить файл CPP в мой проект я получаю груз ошибок компоновщика:

void ToDo() 
{ 
    int i = 0; 
} 

Ошибки:

1>------ Build started: Project: AssemblyTest, Configuration: Debug x64 ------ 
1> test.cpp 
1>MSVCRTD.lib(_init_.obj) : error LNK2019: unresolved external symbol _CrtDbgReport referenced in function _CRT_RTC_INIT 
1>MSVCRTD.lib(_init_.obj) : error LNK2019: unresolved external symbol _CrtDbgReportW referenced in function _CRT_RTC_INITW 
1>MSVCRTD.lib(_error_.obj) : error LNK2019: unresolved external symbol __stdio_common_vsprintf_s referenced in function _vsprintf_s_l 
1>MSVCRTD.lib(_error_.obj) : error LNK2001: unresolved external symbol __C_specific_handler 
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: unresolved external symbol _wmakepath_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned __int64)" ([email protected]@[email protected]) 
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: unresolved external symbol _wsplitpath_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned __int64)" ([email protected]@[email protected]) 
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: unresolved external symbol wcscpy_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned __int64)" ([email protected]@[email protected]) 
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: unresolved external symbol __vcrt_GetModuleFileNameW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDll(void)" ([email protected]@[email protected]@XZ) 
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: unresolved external symbol __vcrt_GetModuleHandleW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDll(void)" ([email protected]@[email protected]@XZ) 
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: unresolved external symbol __vcrt_LoadLibraryExW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDll(void)" ([email protected]@[email protected]@XZ) 
1>C:\Users\***\Desktop\AssemblyTest\x64\Debug\AssemblyTest.exe : fatal error LNK1120: 10 unresolved externals 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

Кто-нибудь знает, что не так с моей установкой и как ее исправить?

ответ

7

Вы связываете свой проект только с частью библиотеки C (CRT), msvcrtd.lib. Вам также необходимо установить связь с библиотеками vcruntimed.lib и ucrtd.lib. Первый является частью самой Visual Studio 2015, а позже является частью SDK Windows 10, который был установлен вместе с Visual Studio. Обычно проекты C++ автоматически связываются с этими библиотеками, но, судя по всему, ваш проект не настроен.

Возможно, вы следуете инструкциям, предназначенным для более старой версии Visual Studio, которая требует только связывания с одним файлом библиотеки CRT. Это изменилось из-за a refactoring of the CRT with Visual Studio 2015.

+0

Или ни одного из них вообще, например. '/ NODEFAULTLIB' –

+0

, что действительно исправило мою проблему. – PreciousRoy

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