User forums > Nightly builds
The 16 april 2006 build will NOT be out.
killerbot:
No commits occured. Tomorrow's another day ;-)
alanwong:
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
Conan Kudo:
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:
--- Quote from: alanwong on April 17, 2006, 05:20:42 am ---Why I can't succeed compile for wxWidgets application .
--- End quote ---
--- 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
--- End quote ---
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:
--- Quote from: Pharaoh Atem 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!
--- End quote ---
the code::blocks is The 16 april 2006 build.
Navigation
[0] Message Index
[#] Next page
Go to full version