Создание сюжета через библиотеку TF1

Я хочу создать график с функцией TF1 в моей программе на C++. Для компиляции использую

g++ *.cpp $(root-config --cflags --glibs)

и это работает просто отлично.

Но когда я делаю ./a.out после этого, он просто не показывает мне созданный им холст (в оболочке написано, что был создан холст C1).

Я уже пытался использовать манекен с cin >> dummy, но это тоже не работает


person TwoStones    schedule 02.07.2019    source источник
comment
вы проверяли комментарии под stackoverflow.com/a/56797361/4588453, особенно ссылку на stackoverflow.com/a/36341590/4588453?   -  person pseyfert    schedule 02.07.2019
comment
Возможный дубликат рисования TCanvas на экран в скомпилированном приложении ROOT (CERN)   -  person pseyfert    schedule 02.07.2019


Ответы (1)


Я создал tf1test.c со следующим содержимым:

#include <iostream>
#include <TCanvas.h>
#include <TApplication.h>

#include <TF1.h>

int main (int argc, char** argv)
{
        TApplication app("test", &argc, argv);
        TCanvas* c1 = new TCanvas("c1", "Something", 0, 0, 800, 600);

        TF1* myFunc = new TF1("myFunc", "2*sin(x)", 0, 10);
        myFunc->Draw();

        c1->Modified();
        c1->Update();

        Int_t a;
        printf("Press any key and hit 'Enter': ");
        std::cin>>a;

        return 0;
}

, теперь я компилирую его с помощью

g++ $(root-config --cflags --glibs) tf1test.c -o a.out

и запуск с

./a.out

и мой холст, и TF1 появляются.

person Yury    schedule 03.07.2019