Обсуждение: pgAgent 2.0.0 compilation errors (types casting)
Hello,
I am using windows/visual studio 2005 to compile the pgAgent source.
There seems to be some problems with the use of wxString::wc_str.
I have compiled wxWidgets (2.8.9) with UNICODE=1 and I am still getting the error.
I am not up to date with the changes done to wxWidgets over the past 12 months.
Could somebody give me a hint what else should I correct/re-compile?
Is the pgAgent-2.0.0-Source the latest source available?
The errors are at:
win32.cpp line 59: 'wxString::wc_str' : function does not take 0 arguments
win32.cpp line 123: '_wcsdup' : cannot convert parameter 1 from 'const TCHAR *' to 'const wchar_t *'
win32.cpp line 520: 'wxString::wc_str' : function does not take 0 arguments + cannot allocate an array of constant size 0
job.cpp line 235: 'wxString::wc_str' : function does not take 0 arguments
Best regards
Tomasz Zeman
I am using windows/visual studio 2005 to compile the pgAgent source.
There seems to be some problems with the use of wxString::wc_str.
I have compiled wxWidgets (2.8.9) with UNICODE=1 and I am still getting the error.
I am not up to date with the changes done to wxWidgets over the past 12 months.
Could somebody give me a hint what else should I correct/re-compile?
Is the pgAgent-2.0.0-Source the latest source available?
The errors are at:
win32.cpp line 59: 'wxString::wc_str' : function does not take 0 arguments
win32.cpp line 123: '_wcsdup' : cannot convert parameter 1 from 'const TCHAR *' to 'const wchar_t *'
win32.cpp line 520: 'wxString::wc_str' : function does not take 0 arguments + cannot allocate an array of constant size 0
job.cpp line 235: 'wxString::wc_str' : function does not take 0 arguments
Best regards
Tomasz Zeman
On Sun, Nov 23, 2008 at 11:30 AM, Tomasz Zeman <tomasz.zeman@gmail.com> wrote: > Hello, > > I am using windows/visual studio 2005 to compile the pgAgent source. > There seems to be some problems with the use of wxString::wc_str. > > I have compiled wxWidgets (2.8.9) with UNICODE=1 and I am still getting the > error. > I am not up to date with the changes done to wxWidgets over the past 12 > months. It works for me, using VC++ 2005 (the full version, not express). > Could somebody give me a hint what else should I correct/re-compile? > > Is the pgAgent-2.0.0-Source the latest source available? Yes. Are you sure you configured cmake using the mswu configuraiton for wxWidgets? (see the wxWidgets_CONFIGURATION option). -- Dave Page EnterpriseDB UK: http://www.enterprisedb.com
Hi Tomasz On Tue, Nov 25, 2008 at 11:02 AM, Tomasz Zeman <tomasz.zeman@gmail.com> wrote: > Hi Dave, > > > I have adjusted cmake to use the mswu and wxWidgets are compiled to use > Unicode. > Unfortunately, the compilation error still appears. > > Between other errors, I am having the following compilation ones: > win32.cpp > ..\win32.cpp(59) : error C2660: 'wxString::wc_str' : function does not take > 0 arguments > ..\win32.cpp(123) : error C2664: '_wcsdup' : cannot convert parameter 1 from > 'const TCHAR *' to 'const wchar_t *' > Types pointed to are unrelated; conversion requires > reinterpret_cast, C-style cast or function-style cast > ..\win32.cpp(520) : error C2660: 'wxString::wc_str' : function does not take > 0 arguments > ..\win32.cpp(520) : error C2466: cannot allocate an array of constant size 0 > > > Extract from D:\C++\pgAgent-2.0.0-Source\win32.cpp (52) The compilation > fails on the last line. > void LogMessage(wxString msg, int level) > { > if (eventHandle) > { > LPCTSTR *tmp; > > tmp = (LPCTSTR *)malloc(sizeof(LPCTSTR)); > tmp[0] = _wcsdup(msg.wc_str()); > > > The compiler says the wc_str expects some arguments. That code has been like that for over 2 and a half years now, and has been compiled countless times. > I have inspected the wxWidget::wxString class, and there is no function > ::wc_str without parameters. No, but there is in include/wx/string.h (defined for Unicode builds): const wxChar* wc_str() const { return c_str(); } > I cannot understand how it is possible to compile this. Dave, what version > of wx are you using? I tested on 2.8.8 and then upgraded to 2.8.9 in case it was a version specific issue. Does it compile if you change the call to c_str() ? -- Dave Page EnterpriseDB UK: http://www.enterprisedb.com
> ..\win32.cpp(59) : error C2660: 'wxString::wc_str' : function does not take > 0 arguments > ..\win32.cpp(123) : error C2664: '_wcsdup' : cannot convert parameter 1 > from > 'const TCHAR *' to 'const wchar_t *' > Types pointed to are unrelated; conversion requires > reinterpret_cast, C-style cast or function-style cast > ..\win32.cpp(520) : error C2660: 'wxString::wc_str' : function does not > take > 0 arguments > ..\win32.cpp(520) : error C2466: cannot allocate an array of constant size > 0 > It seems that it require /D "UNICODE". Please edit pgagent.sln and add UNICODE or _UNICODE in the following edit box i.e. Microsoft Visual Studio 2005 -> Configuration Properties -> c/c++ -> Preprocessor -> Preprocessor Definitions. Thanks. -- View this message in context: http://www.nabble.com/pgAgent-2.0.0-compilation-errors-%28types-casting%29-tp20645294p22139337.html Sent from the PostgreSQL - pgadmin hackers mailing list archive at Nabble.com.