Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在代码::块中设置wxWidgets?_C++_Wxwidgets_Codeblocks - Fatal编程技术网

C++ 在代码::块中设置wxWidgets?

C++ 在代码::块中设置wxWidgets?,c++,wxwidgets,codeblocks,C++,Wxwidgets,Codeblocks,我正在努力使这个代码工作,但我做不到。我希望它可以运行,这样我就可以在我的其他项目中使用它。我刚在网上看到这个。这是关于wxOGL的 #include <wx/wx.h> #include <wx/ogl/ogl.h> #include <wx/cursor.h> class MyApp: public wxApp { virtual bool OnInit(); }; class MyFrame: public wxFrame { wxD

我正在努力使这个代码工作,但我做不到。我希望它可以运行,这样我就可以在我的其他项目中使用它。我刚在网上看到这个。这是关于wxOGL的

#include <wx/wx.h>
#include <wx/ogl/ogl.h>
#include <wx/cursor.h>

class MyApp: public wxApp
{
    virtual bool OnInit();
};

class MyFrame: public wxFrame
{
    wxDiagram * diagram;
    wxShape * shape;

public:

    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
    ~MyFrame();
};

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    MyFrame *frame = new MyFrame(_("wxWidgets - Object Graphics Library"),
                             wxPoint(50, 50), wxSize(450, 340) );
    frame->Show(TRUE);
    SetTopWindow(frame);
    return TRUE;
}

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
    wxShapeCanvas *canvas = new wxShapeCanvas(this, wxID_ANY, pos, size, 0, _T("a"));

    canvas->SetBackgroundColour(*wxWHITE);
    canvas->SetCursor(wxCursor(wxCURSOR_CROSS));

    diagram = new wxDiagram();

    canvas->SetDiagram(diagram);

    shape = new wxCircleShape(20.0);
    shape->SetX(25.0);
    shape->SetY(25.0);
    canvas->AddShape(shape);

    diagram->ShowAll(1);
}

MyFrame::~MyFrame()
{
    delete shape;
    delete diagram;
}
#包括
#包括
#包括
MyApp类:公共wxApp
{
虚拟bool-OnInit();
};
类MyFrame:publicwxframe
{
wxDiagram*图;
wxShape*形状;
公众:
MyFrame(常量wxString和title、常量wxPoint和pos、常量wxSize和size);
~MyFrame();
};
实现应用程序(MyApp)
bool MyApp::OnInit()
{
MyFrame*frame=新的MyFrame(wxWidgets-对象图形库),
wxPoint(50,50),wxSize(450340));
帧->显示(真);
设置窗口(框架);
返回TRUE;
}
MyFrame::MyFrame(常量wxString和title、常量wxPoint和pos、常量wxSize和size)
:wxFrame((wxFrame*)NULL,-1,标题,位置,大小)
{
wxShapeCanvas*canvas=新的wxShapeCanvas(这个,wxID_ANY,pos,size,0,_T(“a”);
画布->背景色(*wxWHITE);
画布->设置光标(wxCursor(wxCursor_交叉));
图表=新的wxDiagram();
画布->设置图表(图表);
形状=新的WX圆形(20.0);
形状->SetX(25.0);
形状->SetY(25.0);
画布->添加形状(形状);
图表->显示所有(1);
}
MyFrame::~MyFrame()
{
删除形状;
删除图表;
}
我不知道它是干什么的,我只是想看看。当我在Code::Blocks中编译它时,它不断返回错误“wx/wx.h:没有这样的文件目录”和其他错误。有人能解决这个问题吗

wx/wx.h:没有这样的文件目录“


编译器找不到安装的wxWidgets。代码::会阻止用户。

该错误意味着wxWidgets开发文件未正确安装,或者项目设置已损坏。

类似的包通常会使用配置脚本指定编译/链接器参数。因此,如果您只是使用gcc编译器,请在命令行中:

g++ `wx-config --cflags` `wx-config --libs` -lwx_gtk2u_ogl-2.8 test.cpp -o test
在Code::Blocks中,只需右键单击项目、生成选项…,在左侧窗口中选择项目名称(如果在执行下一步时突出显示发布/调试,则更改将仅针对发布或调试版本)、编译器设置选项卡、其他选项选项卡和插入:

`wx-config --cflags`
然后选择“链接器设置”选项卡,并在“其他链接器选项”窗口中添加:

`wx-config --libs` -lwx_gtk2u_ogl-2.8
不过,这两件事通常会在C::B中为您设置(OGL库除外)。 此外,该程序使用的对象图形库(OGL)不是wxWidgets基本集的一部分,因此您还必须明确包括以下内容:

-lwx_gtk2u_ogl-2.8

请记住,-2.8部分是在您的计算机上可能不同的版本号。您可以通过发出以下命令(linux),确定您的版本(假设已安装):

find/usr/lib | grep-i wx |-i ogl

它将在您的用户库区域中找到名称中带有“wx”和“ogl”的所有文件

祝你好运 /艾伦