Я пытающийся связать свою программу с статическими библиотеками MFC, как показано в следующем целевом коде в моем Makefile (остальные пропущено):Как связать со статическими библиотеками MFC с помощью инструмента Microsoft Linker
!include <win32.mak>
all: window.exe
.cpp.obj:
$(cc) $(cdebug) $(cflags) $(cvars) $*.cpp
window.exe: window.obj
$(link) $(ldebug) $(guiflags) -out:window.exe window.obj mfc100d.lib mfcs100d.lib $(winlibs)
к сожалению, nmake
останавливает процесс связывания и отображает следующие ошибки:
nafxcwd.lib (afxmem.obj): ошибка LNK2005: "аннулируется оператор __cdecl удалить (пустой *)" (?? 3 @ YAXPAX @Z), уже определенный в mfc100d.lib (mfc100d.dll)
ССЫЛКА: предупреждение LNK4098: defaultlib 'nafxcwd.lib' конфликтует с использованием других libs; использование/NODEFAULTLIB: библиотека
mfcs100d.lib (appmodul.obj): предупреждение LNK4217: (? AfxInitialize @@ YGHHK @ Z) локально определенный символ __setmbcp импортирован в функции "ИНТ __stdcall AfxInitialize (целое число без знака в длину)"
window.exe: фатальная ошибка LNK1169: один или несколько умножить определенные символы найдены
Кроме говорить инструмент Microsoft Linking игнорировать nafxcwd.lib
, мне нужно указать любые дополнительные имена библиотек или определений препроцессора ?
У меня установлен Windows SDK и Visual Studio 2010, но мой код не входит в проект. Есть ли способ скомпилировать мой код с поддержкой MFC в командной строке? – benardier
@edition извините, полностью пропустил это было сделано в nmake. Отредактировал ответ. – Dialecticus