Добавление поддержки MFC к проекту QT
-
13-12-2019 - |
Вопрос
У меня есть проект QT и хотел бы использовать внешнюю библиотеку, которая включает в себя «AFXSTR.H». Проблема в том, что всякий раз, когда я скомпилируюсь после связывания с lib и включая их заголовок, я получаю ошибку:
#error afxstr.h can only be used in MFC projects. Use atlstr.h
.
Конечно, мой проект не является проектом MFC, и я не могу использовать ATLSTR.H вместо этого, потому что это не моя библиотека.
Я ищу быстрый раствор!
Я использую vs2010.
Обеспокоенность Lib Ib - Интерактивные брокеры API .
Решение
соответствующая настройка - это свойства конфигурации / общее, использование MFC.
Опция компилятора подразумевается от этого / d "_afxdll" при использовании MFC в DLL. Что касается вариантов линкера, всячески удалена явная связь библиотек Imports Windows (например, kernel32.lib).
Visual Studio, похоже, находит соответствующие библиотеки автоматически.Однако опция «Использование MFC» хранится с файлом проекта, поэтому я не могу сказать, как он будет переводит на пользовательский сценарий сборки.
Первый включает в себя должен быть
#include <afx.h>
.
и вы не можете включить Windows.h до этого.Как правило, это первое включение в stdafx.h Если вы используете предварительнокомпологичные заголовки.Кроме того, другие заголовки MFC могут быть включены свободно по мере необходимости.
Я сомневаюсь, что это конец истории, получая MFC играть со всем болезненным, а иногда легче сдаться :) Быстрый Google показывает, что есть решения, но они включают дополнительный код и довольно старыми,
Другие советы
Ну, вы уже знали это, просто сделайте более понятно:
.Pro Файл Добавить: Определяет += ib_use_std_string
Избегайте использования CString MFC