2014-10-04 9 views
5

Już szukałem rozwiązań w Internecie, ale nic mi nie pomogło. chcę zakodować prostą rozmowę w języku C++, wszystko jest w porządku, ale ja dostać ten błąd:Błąd C1189 MFC

error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

już zdefiniowane

#define _AFXDLL 

ale błąd jest nadal occures. Każda pomoc jest uznana!

Odpowiedz

10

Istnieją dwa ustawienia, które muszą uzgodnić między sobą:

(1) Project > Properties > General > Use of MFC 
(2) Project > Properties > C/C++/Code Generation/Runtime Library 

Jeśli (1) jest ustawiony na Use MFC in static library, a następnie (2) musi być Multithreaded (/MT) lub Multithreaded Debug (/MTd) (w wydaniu i Debug buduje, odpowiednio). Jeśli (1) to Use MFC in Shared DLL, wówczas (2) musi być Multi-threaded DLL (/MD) lub Multi-threaded Debug DLL (/MDd).

Kiedy nie zgadzasz się, otrzymujesz błąd, który pokazałeś.

+0

Dziękuję, to działa! :) – MRXI

+0

@ Jan: [Co powinienem zrobić, gdy ktoś odpowiada na moje pytanie?] (Http://stackoverflow.com/help/someone-answers) [Co to znaczy, kiedy odpowiedź jest "akceptowana"?] (Http: //stackoverflow.com/help/accepted-answer) Przestrzeganie tych konwencji spowoduje, że stackoverflow.com będzie bardziej wartościowy dla przyszłych użytkowników. – IInspectable