FLTK di MSVC memerlukan header x11?

Saya mencoba mempelajari cara menggunakan FLTK sekarang (Dalam MSVC 2008). Saya telah mengkompilasi semua perpustakaan dengan benar, tetapi ketika saya mencoba menjalankan program ini:


    #include "FL/Fl.H"
    #include "FL/Fl_Window.H"
    #include "FL/Fl_Box.H"

    int main(int argc, char *argv[]) {
        Fl_Window *window = new Fl_Window(340, 180);
        Fl_Box *box = new Fl_Box(20, 40, 300, 100, "Hello, World!");
        box->box(FL_UP_BOX);
        box->labelfont(FL_BOLD + FL_ITALIC);
        box->labelsize(36);
        box->labeltype(FL_SHADOW_LABEL);
        window->end();
        window->show();

        return Fl::run();
    }

Saya mendapatkan kesalahan ini


    1>c:\fltk\fl\xutf8.h(33) : fatal error C1083: Cannot open include file: 'X11/X.h': No such file or directory

Saya tahu bahwa x11 hilang, tetapi saya melakukan pencarian cepat di Google, dan saya tidak dapat menemukan bantuan apa pun mengenai hal ini. BTW, saya menjalankan v1.3.0.

Terima kasih atas waktunya.


person Benjamin    schedule 24.07.2011    source sumber
comment
sudahkah Anda mendefinisikan WIN32 untuk kompiler   -  person marinara    schedule 24.07.2011
comment
ini penting bagi saya, Anda menggunakan fltk, apa alasan Anda mengambilnya untuk digunakan? ada rencana untuk itu?   -  person marinara    schedule 24.07.2011
comment
Terima kasih atas Tipnya, saya menemukan menambahkan #define WIN32 1 atau #include ‹windows.h› sebelum #include ‹FL/Fl.h› membuatnya berfungsi. Tapi bagaimana cara menghilangkan baris perintah?   -  person Benjamin    schedule 24.07.2011
comment
Saya kira yang Anda maksud adalah jendela konsol itu. Ada opsi linker, yang menetapkan tanda pada executable apakah konsol itu akan dibuka atau tidak. Dan sayangnya sudah lama sekali saya melakukan hal itu, sehingga saya tidak ingat persis cara melakukannya. Saya hanya tahu bahwa itu adalah sesuatu yang menggunakan perpustakaan runtime.   -  person datenwolf    schedule 30.07.2011
comment
Ah, ini dia: Di file sumber yang berisi int main(...) tambahkan #pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup") ini atau setel ini di opsi tautan pembuatan proyek.   -  person datenwolf    schedule 30.07.2011


Jawaban (1)


Saya menemukan jawabannya, tambahkan "#define WIN32" sebelum FLTK Anda menyertakan.

person Benjamin    schedule 25.07.2011