compiling FBIde on linux

Linux specific questions.
Post Reply
Nexinarus
Posts: 146
Joined: May 28, 2005 6:08
Location: Everywhere
Contact:

compiling FBIde on linux

Post by Nexinarus »

Could somebody please help me to compile FbIde on linux?

Following the article guide here for compiling FbIde 0.4: http://fbide.freebasic.net/index.php?menuID=66 it just outright fails (with wxgtk 2.6.x)

When i do a make, it gives a whole lot of nonsense:
nick@nick-workpc:~/fbide/FBIde/FBIde0.4$ make
g++ -D__DEBUG__ -c src/main.cpp -o obj/main.o -I"/usr/include/wx-2.6/wx/stc" -O4 -g `wx-config --cxxflags`
In file included from src/inc/main.h:33,
from src/main.cpp:25:
src/inc/wxmynotebook.h:103: error: default argument for parameter of type ‘const wxString&’ has type ‘const char [11]’
src/inc/wxmynotebook.h:108: error: default argument for parameter of type ‘const wxString&’ has type ‘const char [11]’
In file included from src/inc/main.h:183,
from src/main.cpp:25:
src/inc/buffer.h:32: error: default argument for parameter of type ‘const wxString&’ has type ‘const char [9]’
In file included from src/inc/main.h:184,
from src/main.cpp:25:
src/inc/bufferlist.h:35: error: default argument for parameter of type ‘const wxString&’ has type ‘const char [5]’
In file included from src/main.cpp:26:
src/inc/fbedit.h:63: error: conversion from ‘const char [4]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [9]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [3]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [5]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [5]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [7]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [5]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [7]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [5]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [4]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [5]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [6]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [5]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [6]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [3]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [4]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [6]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [5]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [5]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [5]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [4]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [7]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:63: error: conversion from ‘const char [8]’ to ‘wxString’ is ambiguous
/usr/include/wx-2.6/wx/string.h:643: note: candidates are: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.6/wx/string.h:633: note: wxString::wxString(int) <near match>
src/inc/fbedit.h:90: error: extra qualification ‘FB_Edit::’ on member ‘IndentLine’
src/inc/fbedit.h:69: error: default argument for parameter of type ‘wxString’ has type ‘const char [8]’
src/main.cpp: In member function ‘virtual bool stConnection::OnExecute(const wxString&, wxChar*, int, wxIPCFormat)’:
src/main.cpp:97: error: ambiguous overload for ‘operator==’ in ‘wxFileName::GetExt() const() == "fbs"’
/usr/include/wx-2.6/wx/string.h:1436: note: candidates are: bool operator==(const wxString&, const wxString&) <near match>
/usr/include/wx-2.6/wx/string.h:1440: note: bool operator==(const wxChar*, const wxString&) <near match>
/usr/include/wx-2.6/wx/string.h:1474: note: bool operator==(const wxString&, const wxWCharBuffer&) <near match>
/usr/include/wx-2.6/wx/string.h:1509: note: bool operator==(wxChar, const wxString&) <near match>
/usr/include/wx-2.6/wx/string.h:1510: note: bool operator==(const wxString&, wxChar) <near match>
/usr/include/wx-2.6/wx/longlong.h:916: note: bool operator==(long int, const wxLongLong&) <near match>
/usr/include/wx-2.6/wx/longlong.h:929: note: bool operator==(long unsigned int, const wxULongLong&) <near match>
src/main.cpp: In constructor ‘MyFrame::MyFrame(MyApp*, const wxString&)’:
src/main.cpp:260: error: ‘Lthis’ was not declared in this scope
src/main.cpp:294: error: ambiguous overload for ‘operator==’ in ‘wxFileName::GetExt() const() == "fbs"’
/usr/include/wx-2.6/wx/string.h:1436: note: candidates are: bool operator==(const wxString&, const wxString&) <near match>
/usr/include/wx-2.6/wx/string.h:1440: note: bool operator==(const wxChar*, const wxString&) <near match>
/usr/include/wx-2.6/wx/string.h:1474: note: bool operator==(const wxString&, const wxWCharBuffer&) <near match>
/usr/include/wx-2.6/wx/string.h:1509: note: bool operator==(wxChar, const wxString&) <near match>
/usr/include/wx-2.6/wx/string.h:1510: note: bool operator==(const wxString&, wxChar) <near match>
/usr/include/wx-2.6/wx/longlong.h:916: note: bool operator==(long int, const wxLongLong&) <near match>
/usr/include/wx-2.6/wx/longlong.h:929: note: bool operator==(long unsigned int, const wxULongLong&) <near match>
src/main.cpp:302: error: ambiguous overload for ‘operator+’ in ‘"FBIde - " + ((MyFrame*)this)->MyFrame::bufferList.BufferList::operator[](((MyFrame*)this)->MyFrame::FBNotebook->wxMyNotebook::<anonymous>.wxTabbedCtrl::GetSelection())->Buffer::GetFileName()’
/usr/include/wx-2.6/wx/string.h:1496: note: candidates are: wxString operator+(const wxWCharBuffer&, const wxString&) <near match>
/usr/include/wx-2.6/wx/string.h:1301: note: wxString operator+(const wxString&, const wxChar*) <near match>
/usr/include/wx-2.6/wx/string.h:1300: note: wxString operator+(wxChar, const wxString&) <near match>
/usr/include/wx-2.6/wx/string.h:1299: note: wxString operator+(const wxString&, wxChar) <near match>
/usr/include/wx-2.6/wx/string.h:1298: note: wxString operator+(const wxString&, const wxString&) <near match>
make: *** [obj/main.o] Error 1
nick@nick-workpc:~/fbide/FBIde/FBIde0.4$
When I get the sources for fbide 0.5 & fbide 2.0, one has a windows-only makefile, and 2.0 has no makefile at all!

I thought the point of using wxWidgets is that you dont have to worry about system-dependent things. It would be lovely if somebody could fix the source trees of FbIde so that it actually compiles, and easily, on win & linux. Perhaps this is why FbIde died after vongodric left. However it is still a very nice ide.
Sisophon2001
Posts: 1706
Joined: May 27, 2005 6:34
Location: Cambodia, Thailand, Lao, Ireland etc.
Contact:

Post by Sisophon2001 »

I think the reason nobody replied to your post, is because nobody currently active on FB has compiled Fbide on Linux. A few people tried, but I don't recall anybody who succeeded 100%.

Garvan
sir_mud
Posts: 1401
Joined: Jul 29, 2006 3:00
Location: US
Contact:

Post by sir_mud »

Well, I was helping VonGodric with fbide on linux, but I haven't had a net connection at home for quite awhile. Prolly be another month or so before I do. I can't remember whether the SVN version of my ide muddyide will compile ( I know it has some issues ) but you could give it a try. I should be able to get my laptop online in a couple days and I'll upload a little project I've been working on that may help ya so look for a post about it in the Projects sub-forum soon.

*edit*
Muddyide is on google code @ http://muddyide.googlecode.com
counting_pine
Site Admin
Posts: 6323
Joined: Jul 05, 2005 17:32
Location: Manchester, Lancs

Re: compiling FBIde on linux

Post by counting_pine »

Turns out if you search the web for "lthis was not declared in this scope", this is the only thing that comes up!

You may not be interested to know, I started looking at this recently, compiling FBIde 0.4.6 in Ubuntu 12.04 (requires 'apt-get install g++ libwxgtk2.6-dev libpng-dev')

Most of the problems probably stem from it being developed on a non-Unicode platform. This has caused two problems:
- For Unicode builds, all string literals must be wrapped in _T() or wxT(), which prepends an 'L' to the literal, e.g. L"Hello World".
(I think this is no longer necessary in wx 3.x)
This causes the ambiguous conversions from const char [N] to wxString.

- The _T()/wxT() macros must not be used around non-literal strings! Presumably do nothing on non-Unicode builds, but on Unicode builds, they just prepend 'L', which clearly isn't what is desired.
This causes references to things like 'Lthis' to appear in the compiler output.

I have uploaded these fixes (plus a few more) to Github, under the tag 'wx2.6':
https://github.com/countingpine/fbide/commits/wx2.6

This gets FBIde compiling/running under Ubuntu 12.04 (soon to be end of life!). It may work on other versions, but they need to have libwxgtk2.6-dev installed, which is very old now. I've been able to get it compiling but not linking with future versions.

But in any case, I believe I may be the first person to compile a version of FBIde within the last decade :)

Image
Post Reply