System : Debian Unstable (GNU Linux)
wx-Version : wxWidgets 2.61 (unicode) (and yes, wx-common IS installed ;-))
g++ Version : 4.0.3
CB-Version : SVN HEAD (rev. 1542)
Hi,
I encounter a linker-Error while trying to compile the current Code::Blocks SVN HEAD :
trunk/src/sdk/.libs/libcodeblocks.so: undefined reference to `wxScintilla::FindText(int, int, wxString const&, int, int*)'
collect2: ld returned 1 exit status
Does anyone know how to solve this error !?
Thank's in advance
DanDanger
PS :
There is also a error in
"trunk/src/sdk/confimanager.h" (Line 201)
if(TiXmlNode *n = ph.FirstChild(key).FirstChild("objmap").Node())
must be changed to :
if(TiXmlNode *n = ph.FirstChild(key.ToAscii()).FirstChild("objmap").Node()) // <-- key.ToAscii()
Otherwise, TinyXML is not able to compile in Unicode-Mode.
Greetings
DanDanger
Quote from: DanDanger on December 17, 2005, 11:24:52 PM
Hi,
I encounter a linker-Error while trying to compile the current Code::Blocks SVN HEAD :
trunk/src/sdk/.libs/libcodeblocks.so: undefined reference to `wxScintilla::FindText(int, int, wxString const&, int, int*)'
collect2: ld returned 1 exit status
Does anyone know how to solve this error !?
Yes, manually delete sdk/sdk.h.gch. The precompiled header holds an older signature of this function.
Quote from: DanDanger on December 17, 2005, 11:24:52 PM
PS :
There is also a error in
"trunk/src/sdk/confimanager.h" (Line 201)
if(TiXmlNode *n = ph.FirstChild(key).FirstChild("objmap").Node())
must be changed to :
if(TiXmlNode *n = ph.FirstChild(key.ToAscii()).FirstChild("objmap").Node()) // <-- key.ToAscii()
Otherwise, TinyXML is not able to compile in Unicode-Mode.
Fixed.
Hi,
Quote
Yes, manually delete sdk/sdk.h.gch. The precompiled header holds an older signature of this function.
unfortunately, this doesn't work ;-(
Every time I type 'make', the Pre-Compiled Header will be generated new.
So, i edited the Makefile in "src/sdk/Makefile"
"src/sdk/Makefile" (Line 268)
Changed :
#BUILT_SOURCES =
BUILT_SOURCES = $(srcdir)/sdk.h.gch
to :
BUILT_SOURCES =
#BUILT_SOURCES = $(srcdir)/sdk.h.gch
(apparently, i am not the only one with this Problem ;-) )
So, I typed 'make clean" and recompiled everything.
The "sdk.h.gch"-File is gone, however, the same linker-error is still there ;-(
I could not find any other Pre-Compiled headers in the "src/"-Directory, so i wonder
if something is wrong with the Makefiles... ?
Any suggestions ?
Greetings
DanDanger
Quote
unfortunately, this doesn't work ;-(
Every time I type 'make', the Pre-Compiled Header will be generated new.
Umm.... this is exactly what
should happen. You should delete the precompiled header so it gets freshly compiled with the proper signatures.
Without the precompiled header alltogether, you might get the same error (and others in addition) because it is possible that we do not include everything that is needed in every file. Since we use precompiled headers by default, it is easy to miss one file.
Hi,
well, the freshly compiled "Pre-Compiled header" is not working at all ;-(
Still, the same Linker-Error ;-(
Why is C::B so hard to compile ??
Greetings
DanDanger
Quote from: DanDanger on December 19, 2005, 02:25:03 AM
Why is C::B so hard to compile ??
It's not hard. Have you tried a
make clean; make? This function's signature hasn't changed since revision 1508...
YEAH,
now It compiles :-)
After a "fresh" svn-checkout, you have to make a "make install" (as root) in "trunk/src/sdk".
libwxscintilla.so gets copied into "/usr/lib/", and all linker Errors are gone :-)
Thank's to everyone who helped me :-)
Greetings
DanDanger
Yes this happens with a number of libraries. The makefiles are looking for the installed versions of the shared libraries rather then the newly compiled ones. If I knew more about the build system I would have a go at fixing it...
Les