c++ - wxwidget2.9.2在linux下的使用方法

标签 c++ wxwidgets

我是 wxWidgets
的新手 我的平台是fedora 16,gcc 4.6.2 编辑器是vim
我在sourceforge上下载了wxwidget.gz.tar文件,并尝试编译。

我在 bash 中输入了 ./configure --with-gtk --enable-unicode --disable-shared,然后进行安装,wxwidget 安装完成。

我试着编译了一个文件:test.cpp 文件内容如下:

#include <wx/wx.h>
int main()
{
    return 0;
}//i have copied the head file folder to /usr/include/wx

use gcc -o

gcc 显示wx/platform.h:wx/setup.h,没有这样的文件

我该如何解决?

最佳答案

您应该使用 wx-config --cxxflags 和 wx-config --libs 来获取编译所需的包含路径、标志和库。

详细说明:您需要告诉编译器在哪里可以找到包含文件以及需要链接哪些库。 wx-config 是一个方便的程序,可以为您提供该信息。在我的系统上,wx-config 的输出如下所示:

-I/usr/local/lib/wx/include/gtk2-unicode-2.9 -I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -L/usr/local/lib -pthread   -lwx_gtk2u_xrc-2.9 -lwx_gtk2u_html-2.9 -lwx_gtk2u_qa-2.9 -lwx_gtk2u_adv-2.9 -lwx_gtk2u_core-2.9 -lwx_baseu_xml-2.9 -lwx_baseu_net-2.9 -lwx_baseu-2.9

让我们来看看这个简约的 wxWidgets 应用程序:

#include <wx/app.h>
#include <wx/frame.h>

/** Main application class.
 *  This class is derived from the main wxWidgets application class.
 */
class MyApp : public wxApp
{
public:
    /// Initialization function. Called at startup.
    virtual bool OnInit();
    virtual ~MyApp();
};

DECLARE_APP(MyApp);

IMPLEMENT_APP(MyApp);

bool MyApp::OnInit()
{
    if ( !wxApp::OnInit() )
        return false;

    wxFrame* MainFrame = new wxFrame(NULL, wxID_ANY, wxT("MyApp"));
    MainFrame->Show();

    return true;
}

MyApp::~MyApp() {}

您可以使用以下调用对其进行编译:

gcc OUTPUT_OF_WX-CONFIG test.cpp -o test

其中 OUTPUT_OF_WX-CONFIG 是标志和库目录,如上所示,test.cpp 包含上述源代码。如果您的 wxWidgets 安装设置正确,这应该可以正常编译和运行(将显示一个空窗口)。

关于c++ - wxwidget2.9.2在linux下的使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8310972/

相关文章:

c++ - QTableWidget - 仅适用于特定单元格/列的上下文菜单

c++ - C++多个按键输入或按键按下/释放事件

ubuntu - 使用 GTK+ 3 在 Ubuntu 14.04 上构建 wxWidgets 时出错

c++ - wxWidgets 中的自定义内存分配

c++ - 我可以将基类的个别成员的状态更改为私有(private)吗?

c++ - 关于无锁编程的一些疑惑

c# - 在 C++ 中使用 constraint_handlers

c++ - 编译时 C++ 程序中的大量数据

c++ - 在 CppUnit 中指定测试依赖项?

c++ - wxWindow 自动适应父窗口大小