繁体   English   中英

如何在Linux中使用wxwidget2.9.2

[英]How to use wxwidget2.9.2 in linux

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

我在bash中键入./configure --with-gtk --enable-unicode --disable-shared ,然后进行install和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安装,它将可以编译并正常运行(将显示一个空窗口)。

我强烈建议您使用CMake来管理wxWidgets应用程序的构建过程。

你可以找到CMake的配置文件捆绑LiMuBei的示例应用在这里

只需克隆项目,然后按照“自述文件”中的说明进行操作即可。

git clone https://bitbucket.org/vizz/wxstartapp.git

基本思想是通过适当的内置宏/来描述您的项目源,依赖关系,并使用CMake处理所有“收集过程”(这样您就不必担心“ wx-config”及其选项)职能。

例如,要配置您的wxWidgets项目,您可以编写:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

PROJECT(wxstartapp)

FIND_PACKAGE(wxWidgets REQUIRED core base)
IF(wxWidgets_FOUND)
INCLUDE(${wxWidgets_USE_FILE})

...some CMake stuff here...

INCLUDE_DIRECTORIES(
    ... some additional CMake stuff here...
    ${wxWidgets_INCLUDE_DIRS}
)
TARGET_LINK_LIBRARIES(wxstartapp ${wxWidgets_LIBRARIES})
ENDIF(wxWidgets_FOUND)

自己查看“ CMakeLists.txt”文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM