cb build wx294例子 运行不显示窗口

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
wahh
In need of some credit
In need of some credit
Posts: 3
Joined: Mon Feb 18, 2013 5:21 pm

cb build wx294例子 运行不显示窗口

Post by wahh »

使用wx 例子自带的makefile.gcc 编译后运行却可以显示窗口 这是为什么?
ollydbg23
Super wx Problem Solver
Super wx Problem Solver
Posts: 438
Joined: Fri Dec 12, 2008 10:31 am

Re: cb build wx294例子 运行不显示窗口

Post by ollydbg23 »

不理解你说的,说详细点。
wahh
In need of some credit
In need of some credit
Posts: 3
Joined: Mon Feb 18, 2013 5:21 pm

Re: cb build wx294例子 运行不显示窗口

Post by wahh »

ollydbg23 wrote:不理解你说的,说详细点。
用cb建立空白工程 编译wx294的例子 可以编译成功 生成exe文件 但是运行生成的exe 却不显示运行窗口

用wx294 例子里自带的makeflie.gcc 命令行编译出的exe 却可以正常运行
wahh
In need of some credit
In need of some credit
Posts: 3
Joined: Mon Feb 18, 2013 5:21 pm

Re: cb build wx294例子 运行不显示窗口

Post by wahh »

Code: Select all

/***************************************************************
 * Name:      MyAppMain.h
 * Purpose:   Defines Application Frame
 * Author:     ()
 * Created:   2013-02-18
 * Copyright:  ()
 * License:
 **************************************************************/

#include <wx/wxprec.h>
#include <wx/wx.h>
#include "sample.xpm"

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

class MyAppFrame : public wxFrame
{
public:
    MyAppFrame(const wxString& title);

    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);

private:
    DECLARE_EVENT_TABLE()
};

enum {
    Quit    = wxID_EXIT,
    About   = wxID_ABOUT,
};

BEGIN_EVENT_TABLE(MyAppFrame, wxFrame)
    EVT_MENU(Quit, MyAppFrame::OnQuit)
    EVT_MENU(About, MyAppFrame::OnAbout)
END_EVENT_TABLE()

IMPLEMENT_APP(MyApp)


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

    MyAppFrame* frame = new MyAppFrame("WxMyApp");
    frame->Show(true);

    return true;

}

MyAppFrame::MyAppFrame(const wxString& title)
    : wxFrame(NULL, wxID_ANY, title)
{
    SetIcon(wxICON(sample));

    wxMenu* filemenu = new wxMenu;
    wxMenu* helpmenu = new wxMenu;

    helpmenu->Append(About, "&About\tF1", "Show about dialog");

    filemenu->Append(Quit, "E&xit\tAlt-X", "Quit this program");

    wxMenuBar* menuBar = new wxMenuBar();
    menuBar->Append(filemenu, "&File");
    menuBar->Append(helpmenu, "&Help");

    SetMenuBar(menuBar);

    CreateStatusBar(2);
    SetStatusText("Welcome to wxWidgets!");
}

void MyAppFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
    close(true);
}

void MyAppFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
    wxMessageBox(wxString::Format
                 (
                     "Welcome to %s!\n"
                     "\n"
                     "This is the minimal wxWidgets sample\n"
                     "running under %s.",
                     wxVERSION_STRING,
                     wxGetOsDescription()
                 ),
                 "About wxWidgets minimal sample",
                 wxOK | wxICON_INFORMATION,
                 this);
}

Code: Select all

Build started on: 19-02-2013 at 11:46.54
Build ended on: 19-02-2013 at 11:47.19

-------------- 构建: Debug in MyApp (compiler: GNU GCC Compiler)---------------
g++.exe -Wall -pipe -mthreads -Wno-attributes -Winvalid-pch -include wx_pch.h -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -DWX_PRECOMP -g -D__WXDEBUG__ -Wall -finput-charset=UTF-8 -fexec-charset=GBK -ID:\CodeBlock\sdk\wx\include -ID:\CodeBlock\sdk\wx\contrib\include -ID:\CodeBlock\sdk\wx\lib\gcc_dll\mswud -ID:\CodeBlock\sdk\ -IG:\MG\MyApp -IG:\MG\MyApp -c G:\MG\MyApp\wx_pch.h -o wx_pch.h.gch\Debug_wx_pch_h_gch
g++.exe -Wall -pipe -mthreads -Wno-attributes -Winvalid-pch -include wx_pch.h -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -DWX_PRECOMP -g -D__WXDEBUG__ -Wall -finput-charset=UTF-8 -fexec-charset=GBK -ID:\CodeBlock\sdk\wx\include -ID:\CodeBlock\sdk\wx\contrib\include -ID:\CodeBlock\sdk\wx\lib\gcc_dll\mswud -ID:\CodeBlock\sdk\ -IG:\MG\MyApp -IG:\MG\MyApp -c G:\MG\MyApp\MyAppMain.cpp -o obj\Debug\MyAppMain.o
g++.exe -LD:\CodeBlock\sdk\wx\lib\gcc_dll -o bin\Debug\MyApp.exe obj\Debug\MyAppMain.o D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxzlibd.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxbase29u.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxbase29u_net.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxbase29u_xml.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxbase29ud.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxbase29ud_net.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxbase29ud_xml.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxexpat.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxexpatd.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxjpeg.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxjpegd.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_adv.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_aui.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_core.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_gl.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_html.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_media.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_propgrid.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_ribbon.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_richtext.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_stc.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_webview.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29u_xrc.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_adv.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_aui.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_core.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_gl.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_html.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_media.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_propgrid.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_ribbon.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_richtext.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_stc.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_webview.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxmsw29ud_xrc.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxpng.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxpngd.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxregexu.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxregexud.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxscintilla.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxscintillad.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxtiff.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxtiffd.a D:\CodeBlock\sdk\wx\lib\gcc_dll\libwxzlib.a -mwindows
Output size is 1.36 MB
过程结束,其状态为 0 (0 分钟, 24 秒)
0 errors, 0 warnings (0 minutes, 24 seconds)
ollydbg23
Super wx Problem Solver
Super wx Problem Solver
Posts: 438
Joined: Fri Dec 12, 2008 10:31 am

Re: cb build wx294例子 运行不显示窗口

Post by ollydbg23 »

用cb建立空白工程 编译wx294的例子 可以编译成功 生成exe文件 但是运行生成的exe 却不显示运行窗口
我看了你的C::B的build log,一切都OK,关键就是上面这句话不理解。
“运行生成的exe 却不显示运行窗口”如何理解?有何错误?
你是直接鼠标双击exe运行呢?还是在C::B里面点了菜单运行的?
你能gdb调试么?(我指的是C::B里面debug)看看你的程序能否正常调试,下断点?














Post Reply