#c
Вопрос:
Программа будет убита, как только я войду GetFamilyCount()
, поэтому «Выход» не печатается.
Вызов GetLastStatus()
печатает значение 18, равное GdiplusNotInitialized
Я не уверен, почему он не инициализирован. Вы можете ясно видеть, что я инициализировал его здесь,
Gdiplus::PrivateFontCollection privateFontCollection;
Я использую MinGW для создания программы.
MinGW-w64 9.0.0
GCC Version 11.1
OS is Windows 10
MinGW взято из http://winlibs.com/
#include <iostream>
#include <Windows.h>
#include <Gdiplus.h>
int main() {
std::cout << "Start" << "n";
Gdiplus::PrivateFontCollection privateFontCollection;
std::cout << privateFontCollection.GetLastStatus() << "n";
std::cout << privateFontCollection.GetFamilyCount() << "n";
std::cout << "Exit" << "n";
}
Комментарии:
1. Ошибка означает, что вы не звонили
GdiplusStartup
2. @IWonderWhatThisAPIDoes Вау, я такого раньше не находил. Спасибо, это работает!
3. @jeffbRTC Вы должны прочитать документацию , например, в документе для перечисления состояния говорится: »
GdiplusNotInitialized
Указывает, что API GDI не находится в инициализированном состоянии. Для функционирования всех объектов GDI требуется, чтобы GDI находился в инициализированном состоянии. Инициализируйте GDI , вызвав GdiplusStartup» .