Dear Rooters,
I am based on example guitest.C provided with root 4-00-08f version.
I was trying to compile three files which I attached to this letter with
the next command:
g++ `root-config --cflags --glibs` -o main main.cxx MyMain.cxx
I got the next linking error:
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o(.text+0x18): In
function `_start':
../sysdeps/i386/elf/start.S:77: undefined reference to `main'
collect2: ld returned 1 exit status
Maybe this error not connected with root itself, if so, sorry for the
question that should not be addressed in roottalk.
Thank you very much,
Boris.
--
------------------------------------------------
| Boris Skorodumov,
| Graduate Student, Physics Department,
| University of Notre Dame,
| Notre Dame, IN 46556, USA
| WWW: www.nd.edu/~bskorodo
------------------------------------------------
#include "MyMain.h"
const char *nlabel[] = {
"Up",
"Down",
"Left",
"Right",
};
const Double_t ninit[] = {5,8,10,21};
MyMainFrame::MyMainFrame(const TGWindow *p, UInt_t w, UInt_t h)
{
fMain = new TGMainFrame(p, w, h);
fMain->Connect("CloseWindow()", "MyMainFrame", this, "CloseWindow()");
fMenuBarLayout = new TGLayoutHints(kLHintsTop | kLHintsExpandX);
fMenuBarItemLayout = new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0);
fMenuBarHelpLayout = new TGLayoutHints(kLHintsTop | kLHintsRight);
fMenuFile = new TGPopupMenu(gClient->GetRoot());
fMenuFile->AddEntry("&Open...", M_FILE_OPEN);
fMenuFile->AddEntry("&Save", M_FILE_SAVE);
fMenuFile->AddEntry("S&ave as...", M_FILE_SAVEAS);
fMenuFile->AddEntry("&Close", -1);
fMenuFile->AddSeparator();
fMenuFile->AddEntry("&Print", M_FILE_PRINT);
fMenuFile->AddEntry("P&rint setup...", M_FILE_PRINTSETUP);
fMenuFile->AddSeparator();
fMenuFile->AddEntry("E&xit", M_FILE_EXIT);
fMenuFile->DisableEntry(M_FILE_SAVEAS);
fMenuFile->HideEntry(M_FILE_PRINT);
fMenuTest = new TGPopupMenu(gClient->GetRoot());
fMenuTest->AddLabel("Test different features...");
fMenuTest->AddSeparator();
fMenuTest->AddEntry("&Dialog...", M_TEST_DLG);
fMenuTest->AddEntry("&Message Box...", M_TEST_MSGBOX);
fMenuTest->AddEntry("&Sliders...", M_TEST_SLIDER);
fMenuTest->AddEntry("Sh&utter...", M_TEST_SHUTTER);
fMenuTest->AddEntry("&List Directory...", M_TEST_DIRLIST);
fMenuTest->AddEntry("&File List...", M_TEST_FILELIST);
fMenuTest->AddEntry("&Progress...", M_TEST_PROGRESS);
fMenuTest->AddEntry("&Number Entry...", M_TEST_NUMBERENTRY);
fMenuHelp = new TGPopupMenu(gClient->GetRoot());
fMenuHelp->AddEntry("&Contents", M_HELP_CONTENTS);
fMenuHelp->AddEntry("&Search...", M_HELP_SEARCH);
fMenuHelp->AddSeparator();
fMenuHelp->AddEntry("&About", M_HELP_ABOUT);
fMenuFile->Connect("Activated(Int_t)", "TestMainFrame", this,
"HandleMenu(Int_t)");
fMenuView->Connect("Activated(Int_t)", "TestMainFrame", this,
"HandleMenu(Int_t)");
fMenuHelp->Connect("Activated(Int_t)", "TestMainFrame", this,
"HandleMenu(Int_t)");
fF1 = new TGVerticalFrame(fMain, 200, 300);
fL1 = new TGLayoutHints(kLHintsTop | kLHintsLeft, 2, 2, 2, 2);
fMain ->AddFrame(fF1, fL1);
fHor1 = new TGHorizontalFrame(fF1, 200, 30);
fF1->AddFrame(fHor1, fL1);
fCheck = new TGCheckButton(fHor1, "PSD Detector", 4);
fHor1->AddFrame(fCheck, fL1);
for (int i = 0; i < 4; i++) {
fF[i] = new TGHorizontalFrame(fF1, 200, 30);
fF1->AddFrame(fF[i], fL1);
fNumericEntries[i] = new TGNumberEntry(fF[i], ninit[i], 3, i + 20,
(TGNumberFormat::EStyle) 0);
fF[i]->AddFrame(fNumericEntries[i], fL1);
fLabel[i] = new TGLabel(fF[i], nlabel[i]);
fF[i]->AddFrame(fLabel[i], fL1);
}
fHor2 = new TGHorizontalFrame(fF1, 200, 30);
fF1->AddFrame(fHor2, fL1);
fExit = new TGTextButton(fHor2, "Exit", 2);
fHor2->AddFrame(fExit, fL1);
fExit->SetCommand(".q" );
fMain->MapSubwindows();
fMain->Resize();
fMain->SetWindowName("LdfToRoot Program");
fMain->MapWindow();
}
MyMainFrame::~MyMainFrame()
{
delete fExit;
delete fCheck;
delete fF1;
delete fF2;
delete [] fF;
delete fHor1;
delete fHor2;
delete [] fLabel;
delete [] fNumericEntries;
delete fL1;
delete fL2;
delete fL3;
delete fMenuBarLayout;
delete fMenuBarItemLayout;
delete fMenuBarHelpLayout;
delete fMenuFile;
delete fMenuTest;
delete fMenuView;
delete fMenuHelp;
delete fMain;
}
void MyMainFrame::CloseWindow()
{
gApplication->Terminate(0);
}
void MyMainFrame::HandleMenu(Int_t id)
{
}
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:10 MET