Вопрос

У меня есть проект 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top