Некоторые вещи отсутствуют в заголовках компилятора gnu gcc? (Commctrl.h) - PullRequest
1 голос
/ 08 августа 2010

Я использовал компилятор gcc с code :: blocks ide и заметил, что в commctrl.h отсутствуют некоторые вещи:

PBS_MARQUEE и PBM_SETMARQUEE для установки индикатора выполнения для анимации выделенияstyle.

LVS_EX_DOUBLEBUFFER для двойного буфера в представлении списка ...

, вероятно, гораздо больше пропущено, но это те, которые я заметил, и они мне нужны!

Я скачал последние библиотеки Mingw, и они до сих пор не находятся, единственное место, где я могу их найти, это в заголовках Visual Studio, но я не хочу использовать, что

есть ликак я могу получить их в GCC?

Ответы [ 3 ]

3 голосов
/ 08 августа 2010

GCC плохо справляется с поддержкой Windows. Это яркий пример того, почему. Это отличный компилятор. и на Unix-системах я бы больше ничего не использовал, потому что это превосходный компилятор, но ...

MinGW просто не включает несколько заголовков Windows, и для тех, что они делают, они не всегда так актуальны, как в Windows SDK.

Наконец, чтобы поддерживать некоторые биты COM, GCC необходимо было бы иметь возможность анализировать IDL, который обычно не используется в системах, отличных от Windows, в настоящее время не поддерживается GCC.

Visual C ++ Express (а также его компилятор, включенный в Windows SDK) бесплатны. Каково ваше отвращение к этому?

1 голос
/ 08 августа 2010

Лучшим способом было бы связаться либо с mingw.org, либо с mingw-w64 , который является форком и также поддерживает цели x64.Последние, как известно, быстро и дружелюбно реагируют на запросы «отсутствующих функций».Вы можете связаться с ними либо в списке рассылки, либо на форумах или в IRC (см. ссылку).

.... Поцарапайте это.Кажется, моя копия заголовка mingw-w64 commctrl.h включает эти макросы.Я не знаю, работают ли они так, как ожидалось, но попробуй.Загрузки связаны на странице, на которую я ссылался выше.Я бы порекомендовал личные сборки Sezero для полноты и простоты использования.Вы должны иметь возможность заменить папку mingw на папку из архива (убедитесь, что gcc.exe и др. Совпадают).

0 голосов
/ 08 августа 2010

У вас есть правильный макрос _WIN32_WINNT? Похоже, им всем нужно _WIN32_WINNT> = 0x0501.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...