2013-12-14 2 views
0

Я хочу использовать функцию SelectColor в консольном приложении. http://msdn.microsoft.com/en-us/library/windows/desktop/ms646912(v=vs.85).aspxНеопределенная ссылка при использовании windows.h

Я использую их пример кода, чтобы проверить его, и я включил windows.h, как они сказали мне, но я получаю ошибки:

undefined reference to '[email protected]' 
undefined reference to '[email protected]' 

Я использую код :: Блоки, и я попытался в том числе «Windows.h» и «Commdlg.h», но без везения. Нужно ли мне возиться с настройками Linker, чтобы использовать windows.h? Мой код:

#include <windows.h> 

int main() 
{ 
    CHOOSECOLOR cc;     // common dialog box structure 
    static COLORREF acrCustClr[16]; // array of custom colors 
    HWND hwnd;      // owner window 
    HBRUSH hbrush;     // brush handle 
    static DWORD rgbCurrent;  // initial color selection 

    // Initialize CHOOSECOLOR 
    ZeroMemory(&cc, sizeof(cc)); 
    cc.lStructSize = sizeof(cc); 
    cc.hwndOwner = hwnd; 
    cc.lpCustColors = (LPDWORD) acrCustClr; 
    cc.rgbResult = rgbCurrent; 
    cc.Flags = CC_FULLOPEN | CC_RGBINIT; 

    if (ChooseColor(&cc)==TRUE) 
    { 
     hbrush = CreateSolidBrush(cc.rgbResult); 
     rgbCurrent = cc.rgbResult; 
    } 
    return 0; 
} 
+0

Посмотрите на документацию этих функций. Он должен сказать: * Библиотека: gdi32.lib * и * Library: comdlg32.lib *. Да, привязка - это хорошо. Это займет гораздо больше времени, чем это уже делается для компиляции windows.h без. – chris

+1

Обратите внимание, что вы неправильно тестируете результат SelectColor. Прочтите документацию более внимательно. –

+1

Что вы собираетесь делать с кистью в консольном приложении? –

ответ

Смежные вопросы