Добавление поддержки 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