Я делаю графический интерфейс FLTK в QtCreator. Пожалуйста, не сердитесь на меня за то, что я не использую Qt для создания моего GUI, это не имеет значения.
В любом случае, мой тип проекта — «Простой проект C ++», и это мой код (вам, вероятно, не нужно его читать, но я поместил его на всякий случай):
// include headers
#include <Windows.h>
#include <Fl/Fl.H>
#include <FL/FL_Window.h>
#include <FL/Fl_Button.h>
#include <FL/FL_ask.h>
// macro functions
#define UP(x) UNREFERENCED_PARAMETER(x)
// callback function
void callback(Fl_Widget *sender)
{
sender->label("Thanks!");
}
// main function
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
int nShowCmd)
{
// UP's
UP(hInstance);
UP(hPrevInstance);
UP(lpCmdLine);
UP(nShowCmd);
// window
Fl_Window *window = new Fl_Window(250, 250, "Derp Window");
window->begin();
// button
Fl_Button *button = new Fl_Button(10, 100, 230, 25, "Click Me!");
button->callback(callback);
// run
window->end();
window->show();
int result = Fl::run();
// delete ptr's
delete button;
delete window;
// return
return result;
}
Когда я запускаю это, я получаю это предупреждение и две ошибки (извините за маленькое изображение, просто увеличьте ваш браузер, если вы не можете его прочитать):
Я знаю, что такое ошибка LNK2019, на самом деле они, вероятно, проклятие моего существования. Но в этом случае я понятия не имею, почему я получаю это. Я думаю, что вы также должны посмотреть на это, это текст для моего файла Qpro проектов .pro:
ШАБЛОН = приложение
CONFIG + = консоль
CONFIG — = app_bundle
CONFIG — = qt
win32: LIBS + = -luser32 -lshell32 -lgdi32 -lole32 -ladvapi32
ИСТОЧНИКИ + = main.cpp
unix | win32: LIBS + = -L $$ PWD /../../../ Desktop / C ++ / FLTK / lib / -lfltk
INCLUDEPATH + = $$ PWD /../../../ Desktop / C ++ / FLTK / include
DEPENDPATH + = $$ PWD /../../../ Desktop / C ++ / FLTK / include
Это, вероятно, самая важная часть: я никогда не получаю никаких ошибок, и программа работает нормально, когда я использую int main () в качестве основной функции.
Итак, мой вопрос: почему я получаю это, как мне это исправить?
Удалить заявление
CONFIG + = консоль
Я исправил это, создав «Пустой проект Qt» вместо «Консольное приложение C ++»!