Использование afx_msg в Qt с компилятором msvc2008

Я работаю над проектом в Qt с помощью компилятора msvc2008, как говорится в заголовке.

В примере кода, из которого я пытаюсь работать, используется afx_maps, и, насколько я могу судить (я не знаю, как работает afx), приведенный ниже код означает, что при получении сообщения WM_PI_RAWDATA_READY (Понятия не имею, где и как он был получен), функция OnRawDataReady срабатывает.

//{{AFX_MSG_MAP(CPDImfcDlg)
ON_MESSAGE(WM_PI_RAWDATA_READY, OnRawDataReady )
//}}AFX_MSG_MAP

Я попытался скопировать код в свой проект, а затем добавить #include в заголовок, но это дает мне следующую ошибку:

D:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\INCLUDE\afx.h:24: 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]

Исправления, которые я нашел в других местах, кажутся настройками проекта в Visual Studio, поэтому я не уверен, как обойти это.

Любые идеи о том, как это исправить, или как обойти вещи afx_msg?

Большое спасибо

2 ответа

Решение

Как насчет просто делать то, что говорится в сообщении об ошибке и #defineв _AFXDLL символ препроцессора. В зависимости от вашей среды сборки вам просто нужно добавить его в командную строку компилятора в качестве аргумента (/D_AFXDLL, если я правильно помню). Но когда вы работаете с Qt, вы, вероятно, все равно получили файл *.pro и можете просто добавить его туда (используя DEFINES переменная). Так что просто добавьте эту строку в ваш *.pro файл

DEFINES += _AFXDLL

Но простая интеграция кода MFC в приложение Qt (которые представляют собой две совершенно разные библиотеки абстракций GUI и ОС) не слишком поможет, так как они оба не будут так хорошо работать вместе, не говоря уже о проблеме дизайна. Возможно, вы можете портировать приложение с MFC на Qt.

В основном это говорит о том, что вы должны использовать статические библиотеки или библиотеки DLL. Вы не можете смешивать.

Как вы говорите, это часть настроек проекта.

Другие вопросы по тегам