Author Topic: The 16 april 2006 build will NOT be out.  (Read 15923 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5514
The 16 april 2006 build will NOT be out.
« on: April 16, 2006, 07:46:11 pm »
No commits occured. Tomorrow's another day ;-)

alanwong

  • Guest
Re: The 16 april 2006 build will NOT be out.
« Reply #1 on: April 17, 2006, 05:20:42 am »
Why I can't succeed compile for wxWidgets application .
-------------- Build: default in test ---------------
mingw32-g++.exe -pipe -mthreads -Winvalid-pch -include "wx_pch.h" -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -DUSE_PCH  -IE:\TEST\test\include -IE:\TEST\test\lib\gcc_dll\mswu -IE:\TEST\test\contrib\include -I"C:\Program Files\CodeBlocks\include" -I"C:\Program Files\CodeBlocks\wxWidgetsDLL\include"  -c wx_pch.h -o wx_pch.h.gch\default_wx_pch.h.gch
mingw32-g++.exe -pipe -mthreads -Winvalid-pch -include "wx_pch.h" -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -DUSE_PCH  -IE:\TEST\test\include -IE:\TEST\test\lib\gcc_dll\mswu -IE:\TEST\test\contrib\include -I"C:\Program Files\CodeBlocks\include" -I"C:\Program Files\CodeBlocks\wxWidgetsDLL\include"  -c main.cpp -o .objs\main.o
main.cpp:91:1: converting to execution character set: Illegal byte sequence
main.cpp:108:1: converting to execution character set: Illegal byte sequence
Process terminated with status 1 (0 minutes, 21 seconds)
2 errors, 0 warnings
 
 
my wxWidgets is compiled with unicode version.

main.cpp file:

#include <wx/wxprec.h>

#ifdef __BORLANDC__
    #pragma hdrstop
#endif

#ifndef WX_PRECOMP
    #include <wx/wx.h>
#endif

//helper functions
enum wxbuildinfoformat {
    short_f, long_f };

wxString wxbuildinfo(wxbuildinfoformat format)
{
    wxString wxbuild(wxVERSION_STRING);

    if (format == long_f )
    {
#if defined(__WXMSW__)
        wxbuild << _T("-Windows");
#elif defined(__UNIX__)
        wxbuild << _T("-Linux");
#endif

#if wxUSE_UNICODE
        wxbuild << _T("-unicode build");
#else
        wxbuild << _T("-ANSI build");
#endif // wxUSE_UNICODE
    }

    return wxbuild;
}

//wxWidgets Application
class MyApp : public wxApp
{
public:
    virtual bool OnInit();
};
IMPLEMENT_APP(MyApp);

class MyFrame: public wxFrame
{
public:
    MyFrame(wxFrame *frame, const wxString& title);
    ~MyFrame();
private:
    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);
    DECLARE_EVENT_TABLE();
};

bool MyApp::OnInit()
{
    MyFrame* frame = new MyFrame(0L, _("wxWidgets Application Template"));
    frame->Show();
    return true;
}

int idMenuQuit = wxNewId();
int idMenuAbout = wxNewId();

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
    EVT_MENU(idMenuQuit, MyFrame::OnQuit)
    EVT_MENU(idMenuAbout, MyFrame::OnAbout)
END_EVENT_TABLE()

MyFrame::MyFrame(wxFrame *frame, const wxString& title)
        : wxFrame(frame, -1, title)
{
#if wxUSE_MENUS
    // create a menu bar
    wxMenuBar* mbar = new wxMenuBar();
    wxMenu* fileMenu = new wxMenu(_T(""));
    fileMenu->Append(idMenuQuit, _("&Quit\tAlt-F4"), _("Quit the application"));
    mbar->Append(fileMenu, _("&File"));

    wxMenu* helpMenu = new wxMenu(_T(""));
    helpMenu->Append(idMenuAbout, _("&About\tF1"), _("Show info about this application"));
    mbar->Append(helpMenu, _("&Help"));

    SetMenuBar(mbar);
#endif // wxUSE_MENUS

#if wxUSE_STATUSBAR
    // create a status bar with some information about the used wxWidgets version
    CreateStatusBar(2);
    SetStatusText(_("Hello Code::Blocks user !王光平"),0);
    SetStatusText(wxbuildinfo(short_f),1);
#endif // wxUSE_STATUSBAR
}

MyFrame::~MyFrame()
{
}

void MyFrame::OnQuit(wxCommandEvent& event)
{
    Close();
}

void MyFrame::OnAbout(wxCommandEvent& event)
{
    wxString msg = wxbuildinfo(long_f);
    wxMessageBox(msg, _("Welcome 王光平"));
}

 
wx_pch.h file:
#ifndef WX_PCH_H_INCLUDED
#define WX_PCH_H_INCLUDED

#if ( defined(USE_PCH) && !defined(WX_PRECOMP) )
    #define WX_PRECOMP
#endif // USE_PCH

// basic wxWidgets headers
#include <wx/wxprec.h>

#ifdef __BORLANDC__
   #pragma hdrstop
#endif

#ifndef WX_PRECOMP
   #include <wx/wx.h>
#endif

#ifdef USE_PCH
   // put here all your rarely-changing header files
#endif // USE_PCH

#endif // WX_PCH_H_INCLUDED
« Last Edit: April 17, 2006, 05:32:02 am by alanwong »

Offline Conan Kudo

  • Multiple posting newcomer
  • *
  • Posts: 111
    • Enano CMS Project
Re: The 16 april 2006 build will NOT be out.
« Reply #2 on: April 17, 2006, 06:52:42 am »
What version of Code::Blocks are you using? Are you using official RC2-installer final, are you using April 1st installer-RC2 Unicode, or are you using a nightly build ontop of either installer? Specify please!

takeshimiya

  • Guest
Re: The 16 april 2006 build will NOT be out.
« Reply #3 on: April 17, 2006, 07:30:00 am »
Why I can't succeed compile for wxWidgets application .

Quote
main.cpp:91:1: converting to execution character set: Illegal byte sequence
main.cpp:108:1: converting to execution character set: Illegal byte sequence

That is because you have chinese characters (hanzis) on line 91 and 108. I don't know if GCC supports source files encoded in unicode (and if it supports, what type of encodings it supports), but certainly your actual configuration doesn't.

You can solve it in multiple ways, these are one of them:
1) Investigate if GCC supports unicode for source files, and if so, what encoding.
2) Use another compiler. For example, MSVC latest versions support UTF-8 and UTF-16 source files.
3) Don't use any unicode chars (use only ASCII chars) in your source files, and write all texts in plain english.
This is the most common way, and you will not loose unicode at all, because you can later translate the english texts to any language at runtime, using gettext catalogs. For creating the catalogs, here is a good GUI: http://www.poedit.org

Regards,
Takeshi Miya

alanwong

  • Guest
Re: The 16 april 2006 build will NOT be out.
« Reply #4 on: April 17, 2006, 08:11:48 am »
What version of Code::Blocks are you using? Are you using official RC2-installer final, are you using April 1st installer-RC2 Unicode, or are you using a nightly build ontop of either installer? Specify please!

the code::blocks is  The 16 april 2006 build.

alanwong

  • Guest
Re: The 16 april 2006 build will NOT be out.
« Reply #5 on: April 17, 2006, 08:17:49 am »
Why I can't succeed compile for wxWidgets application .

Quote
main.cpp:91:1: converting to execution character set: Illegal byte sequence
main.cpp:108:1: converting to execution character set: Illegal byte sequence

That is because you have chinese characters (hanzis) on line 91 and 108. I don't know if GCC supports source files encoded in unicode (and if it supports, what type of encodings it supports), but certainly your actual configuration doesn't.

You can solve it in multiple ways, these are one of them:
1) Investigate if GCC supports unicode for source files, and if so, what encoding.
2) Use another compiler. For example, MSVC latest versions support UTF-8 and UTF-16 source files.
3) Don't use any unicode chars (use only ASCII chars) in your source files, and write all texts in plain english.
This is the most common way, and you will not loose unicode at all, because you can later translate the english texts to any language at runtime, using gettext catalogs. For creating the catalogs, here is a good GUI: http://www.poedit.org

Regards,
Takeshi Miya


thank you, Takeshi Miya

I think that GCC supports unicode for source files (with GCC3.4.5), because it is succeed compiled as follows:
#include <iostream>
using namespace std;
int ()
{
  cout<<"中国"<<endl;
  return 0;
}

alanwong

  • Guest
Re: The 16 april 2006 build will NOT be out.
« Reply #6 on: April 17, 2006, 08:23:24 am »
Why I can't succeed compile for wxWidgets application .

Quote
main.cpp:91:1: converting to execution character set: Illegal byte sequence
main.cpp:108:1: converting to execution character set: Illegal byte sequence

That is because you have chinese characters (hanzis) on line 91 and 108. I don't know if GCC supports source files encoded in unicode (and if it supports, what type of encodings it supports), but certainly your actual configuration doesn't.

You can solve it in multiple ways, these are one of them:
1) Investigate if GCC supports unicode for source files, and if so, what encoding.
2) Use another compiler. For example, MSVC latest versions support UTF-8 and UTF-16 source files.
3) Don't use any unicode chars (use only ASCII chars) in your source files, and write all texts in plain english.
This is the most common way, and you will not loose unicode at all, because you can later translate the english texts to any language at runtime, using gettext catalogs. For creating the catalogs, here is a good GUI: http://www.poedit.org

Regards,
Takeshi Miya


thank you, Takeshi Miya

I think that GCC supports unicode for source files (with GCC3.4.5), because it is succeed compiled as follows:
#include <iostream>
using namespace std;
int ()
{
  cout<<"中国"<<endl;
  return 0;
}


Because I don't want Use another compiler. For example, MSVC,  so I select code::blocks.


Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: The 16 april 2006 build will NOT be out.
« Reply #7 on: April 17, 2006, 12:27:15 pm »
Why I can't succeed compile for wxWidgets application .
Thank you for being so kind as to not posting your general problems into this completely unrelated thread.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline mmkider

  • Almost regular
  • **
  • Posts: 150
Re: The 16 april 2006 build will NOT be out.
« Reply #8 on: April 17, 2006, 07:33:44 pm »
sorry for thomas.

I reply this question.
you need to select ANSI-mode, because you keyin word that it is local code (GB2312)and not UNICODE.

I try compling this file between ANSI-mode and UNICODE-mode, and it's sucess with ANSI-mode.


Offline Conan Kudo

  • Multiple posting newcomer
  • *
  • Posts: 111
    • Enano CMS Project
Re: The 16 april 2006 build will NOT be out.
« Reply #9 on: April 18, 2006, 12:24:57 am »
Where is our ANSI build?? The latest ANSI build is two weeks old! We need a new ANSI build for our Windows 9x friends! Of course, if a libunicows build is prepared instead, that is OK too....

Offline mmkider

  • Almost regular
  • **
  • Posts: 150
Re: The 16 april 2006 build will NOT be out.
« Reply #10 on: April 18, 2006, 03:28:13 am »
I express ANSI-mode of wxwidgets lib. :D

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5514
Re: The 16 april 2006 build will NOT be out.
« Reply #11 on: April 18, 2006, 07:53:46 am »
this evening

alanwong

  • Guest
Re: The 16 april 2006 build will NOT be out.
« Reply #12 on: April 18, 2006, 10:10:35 am »
I compling this file in ANSI-mode , and it's sucess with ANSI-mode.

I understand

thank you.