Добавление поддержки MFC в проект Qt

У меня есть проект Qt и я хотел бы использовать внешнюю библиотеку, которая включает "afxstr.ч." Проблема в том, что всякий раз, когда я компилирую после ссылки на lib и включая их заголовок, я получаю ошибку:

#error afxstr.h can only be used in MFC projects.  Use atlstr.h

конечно, мой проект не является проектом MFC, и я не могу использовать atlstr.ч а не потому, что это не моя библиотека.

Я ищу быстрое решение!

Я использую VS2010.

рассматриваемый lib является Интерактивные Брокеры В API.

2 ответов


соответствующий параметр-свойства конфигурации / общие, использование MFC.

параметр компилятора, подразумеваемый из этого, является /D "_AFXDLL" при использовании MFC в DLL. Что касается параметров компоновщика, любопытно явное связывание библиотек импорта windows (таких как kernel32.Либ) удаляются.

Visual Studio, похоже, автоматически находит соответствующие библиотеки. Однако параметр "использование MFC" хранится в файле проекта, поэтому я не могу сказать, как он будет переводиться на пользовательский сценарий сборки.

первый include должен быть

#include <afx.h>

и вы не можете включить Windows.ч до этого. Как правило, это первое включение в stdafx.h при использовании предварительно скомпилированных заголовков. Кроме этого, другие заголовки MFC могут быть включены свободно по мере необходимости.

Я сомневаюсь, что это конец истории, заставить MFC играть с чем-либо больно, и иногда легче отказаться:) быстрый google показывает, что есть решения, но они включают дополнительный код и довольно старый.


ну, вы уже знаете это, просто сделайте это более ясным:

.Pro Файл Добавить: ОПРЕДЕЛЯЕТ += IB_USE_STD_STRING

избегайте использования MFC CString