Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Newbie corner » [SOLVED] I have a problem linking a LIB
[SOLVED] I have a problem linking a LIB [message #28462] Thu, 02 September 2010 16:05 Go to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

I have a third party LIBrary that I want to link to.

One package I made as a test case for this library compiles and links correctly. To make the library link, I had to ADD LIBRARIES.... in the package configuration. That's it. The LIB in question is kept in the package directory just to be sure and I am trying to statically link in MINGW on WIN32.

Doing the same thing in another package just doesn't work. It keeps coming back with linker messages like these
C:/upp2625/out/JFsrtsystem/MINGW.Blitz.Gui.Main\NIDAQmx.o:NIDAQmx.c:(.text$Ni_ReadAllDI0+0x2f): undefined reference to `DAQm
	xCreateTask'
C:/upp2625/out/JFsrtsystem/MINGW.Blitz.Gui.Main\NIDAQmx.o:NIDAQmx.c:(.text$Ni_ReadAllDI0+0x5a): undefined reference to `DAQm
	xCreateDIChan'
C:/upp2625/out/JFsrtsystem/MINGW.Blitz.Gui.Main\NIDAQmx.o:NIDAQmx.c:(.text$Ni_ReadAllDI0+0x69): undefined reference to `DAQm
	xStartTask'
C:/upp2625/out/JFsrtsystem/MINGW.Blitz.Gui.Main\NIDAQmx.o:NIDAQmx.c:(.text$Ni_ReadAllDI0+0xb6): undefined reference to `DAQm
	xReadDigitalU32'
C:/upp2625/out/JFsrtsystem/MINGW.Blitz.Gui.Main\NIDAQmx.o:NIDAQmx.c:(.text$Ni_ReadAllDI0+0xda): undefined reference to `DAQm
	xGetExtendedErrorInfo'
C:/upp2625/out/JFsrtsystem/MINGW.Blitz.Gui.Main\NIDAQmx.o:NIDAQmx.c:(.text$Ni_ReadAllDI0+0xe9): undefined reference to `DAQm
	xStopTask'
C:/upp2625/out/JFsrtsystem/MINGW.Blitz.Gui.Main\NIDAQmx.o:NIDAQmx.c:(.text$Ni_ReadAllDI0+0xf4): undefined reference to `DAQm
	xClearTask'
collect2: ld returned 1 exit status


Now, I know I have done everything that needed to be done, tried everything I know I can try; still no luck. The undefined references are in the NIDAQmx.LIB that I am trying to link to.

Can anyone point me to what may be wrong or where should I look? I am at the end of my rope.

Thank you

[Updated on: Sat, 11 September 2010 15:59]

Report message to a moderator

Re: I have a problem linking a LIB [message #28466 is a reply to message #28462] Thu, 02 September 2010 17:30 Go to previous messageGo to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

Update on my situation Shocked

In the case which compiles and links, I have the API header declared in my main.cpp and the functions which link to the LIB also in the main.cpp in global scope.
Like this
 = snippet from Main.cpp
#include "NIDAQmx.h"


/**********************************************************************/
#define DAQmxErrChk(functionCall) if( DAQmxFailed(error=(functionCall)) ) goto Error; else
void	NiCheck()
{
   int32      	error=0;
   TaskHandle   taskHandle=0;
   uInt32      	data;
   char      	errBuff[2048]={'\0'};
   int32      	read;

   /*********************************************/
   // DAQmx Configure Code
   /*********************************************/
   DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
   DAQmxErrChk (DAQmxCreateDIChan(taskHandle,"Dev1/port0","",DAQmx_Val_ChanForAllLines));

......

In the same project which compiles and links, if I move the functions which link to the LIB into a separate module/cpp file, put the header for the API in that cpp file again in global scope, I end up with tons of errors.

 = snippet from NiDaq.cpp

#include "NIDAQmx.h"


/**********************************************************************/
#define DAQmxErrChk(functionCall) if( DAQmxFailed(error=(functionCall)) ) goto Error; else
void	NiCheck()
{
   int32      	error=0;
   TaskHandle   taskHandle=0;
   uInt32      	data;
   char      	errBuff[2048]={'\0'};
   int32      	read;

   /*********************************************/
   // DAQmx Configure Code
   /*********************************************/
   DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
   DAQmxErrChk (DAQmxCreateDIChan(taskHandle,"Dev1/port0","",DAQmx_Val_ChanForAllLines));

......


I am not calling the NiCheck function in either case. Just ensuring that it links for now. The Package organiser knows about the additional library which is located in the same folder as my sources.

I created another test case in which I tried the same steps as the above 2 cases, but it doesn't work in either case

What am I doing wrong ?

Thanks
ps. I have attached the relevant files for completeness
  • Attachment: nidaqmx.zip
    (Size: 149.17KB, Downloaded 224 times)

[Updated on: Thu, 02 September 2010 17:46]

Report message to a moderator

Re: I have a problem linking a LIB [message #28469 is a reply to message #28466] Thu, 02 September 2010 18:19 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3355
Registered: August 2008
Senior Veteran
Hello Jerson

Please include in the .zip all testcase files including .upp.


Best regards
Iñaki
Re: I have a problem linking a LIB [message #28470 is a reply to message #28462] Thu, 02 September 2010 19:09 Go to previous messageGo to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

Hi Koldo

Here are the 2 test cases.

Thanks for your attention and time
Regards
  • Attachment: testcases.zip
    (Size: 342.53KB, Downloaded 221 times)
Re: I have a problem linking a LIB [message #28475 is a reply to message #28470] Thu, 02 September 2010 22:12 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3355
Registered: August 2008
Senior Veteran
Hello Jerson

In both cases it is necessary to fix file SlideSw.h, line: 82, function SlideSw&SetData(const int Pos, const String Name). The function has to return a value.

In Case 2, in file NIDAQmx.h it is necessary to uncomment typedef signed long int16; and typedef signed long int32;.

With these, both cases link but none run because of exceptions.

Did case 1 run for you?. It seems something related with the libs.


Best regards
Iñaki
Re: I have a problem linking a LIB [message #28480 is a reply to message #28462] Fri, 03 September 2010 02:55 Go to previous messageGo to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

Hi Koldo

Thanks a lot. That line 82 was the culprit. I really wonder why there was no indication to that from the compiler, or did I miss it?

Yes, case 1 really does work with the hardware. It's only after that I started integrating this code into my project and it wouldn't work.

I forgot to add, if I open up the typedefs for int16 and int32, this is what happens
C:\MyApps\JFControlsDemo\NIDAQmx.h:2838: error: expected constructor, destructor, or type conversion before 'DAQmxResetAIACE
	xcitFreq'
C:\MyApps\JFControlsDemo\NIDAQmx.h:2840: error: reference to 'int32' is ambiguous
C:\MyApps\JFControlsDemo\NIDAQmx.h:58: error: candidates are: typedef long int int32
C:\upp2625\uppsrc/Core/Defs.h:225: error:                 typedef long int Upp::int32


I wonder if you could help me with tips on how you got that line 82 issue as I still have to integrate this code with my main project and it is giving problems. Things like __stdcall__, __attribute__ etc start giving errors in my project whereas the same file(NiDaqmx.h) compiles in the test projects.

Thank you for checking out for me.

Best regards

[Updated on: Fri, 03 September 2010 03:46]

Report message to a moderator

Re: I have a problem linking a LIB [message #28481 is a reply to message #28462] Fri, 03 September 2010 05:14 Go to previous messageGo to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

FOLLOW UP POST

After correcting the problems described by Koldo in the post above, I was able to compile and link the code.

However, I am not sure if I have hit a bug in the IDE.

The code that now compiles gives an output like this
----- JFControls ( GUI GCC BLITZ WIN32 ) (1 / 22)
----- Controls4U ( GUI GCC BLITZ WIN32 ) (2 / 22)
----- CtrlLib ( GUI GCC BLITZ WIN32 ) (3 / 22)
----- Functions4U ( GUI GCC BLITZ WIN32 ) (4 / 22)
----- Painter ( GUI GCC BLITZ WIN32 ) (5 / 22)
----- CtrlCore ( GUI GCC BLITZ WIN32 ) (6 / 22)
----- Draw ( GUI GCC BLITZ WIN32 ) (7 / 22)
----- plugin/bmp ( GUI GCC BLITZ WIN32 ) (8 / 22)
----- RichText ( GUI GCC BLITZ WIN32 ) (9 / 22)
----- Core ( GUI GCC BLITZ WIN32 ) (10 / 22)
----- plugin/z ( GUI GCC BLITZ WIN32 ) (11 / 22)
----- plugin/png ( GUI GCC BLITZ WIN32 ) (12 / 22)
----- plugin/bz2 ( GUI GCC BLITZ WIN32 ) (13 / 22)
----- ide/Browser ( GUI GCC BLITZ WIN32 ) (14 / 22)
----- Web ( GUI GCC BLITZ WIN32 ) (15 / 22)
----- CppBase ( GUI GCC BLITZ WIN32 ) (16 / 22)
----- ide/Common ( GUI GCC BLITZ WIN32 ) (17 / 22)
----- PdfDraw ( GUI GCC BLITZ WIN32 ) (18 / 22)
----- RichEdit ( GUI GCC BLITZ WIN32 ) (19 / 22)
----- ide/Core ( GUI GCC BLITZ WIN32 ) (20 / 22)
----- Esc ( GUI GCC BLITZ WIN32 ) (21 / 22)
----- JFControlsDemo ( GUI MAIN GCC BLITZ WIN32 ) (22 / 22)
BLITZ: main.cpp nidaq.cpp
JFControlsDemo: 2 file(s) built in (0:05.64), 2820 msecs / file, duration = 5703 msecs
Linking...
c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/RichText/MINGW.Blitz.Gui\EncodeQtf.o: w
	arning: duplicate section `.rdata$_ZTSN3Upp14DeepCopyOptionINS_7RichTxt4ParaENS_10EmptyClassEEE[typeinfo name for Upp::D
	eepCopyOption<Upp::RichTxt::Para, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Stream.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp7FileOutE[vtable for Upp::FileOut]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Stream.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp6FileInE[vtable for Upp::FileIn]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Util.o: warning: d
	uplicate section `.rdata$_ZTVN3Upp6FileInE[vtable for Upp::FileIn]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Value.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Convert.o: warning
	: duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<U
	pp::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Convert.o: warning
	: duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::Strin
	g0, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Color.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_5ColorEEE[vtable for Upp::RichValueRep<Upp::Color>]' has different 
	size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Color.o: warning: 
	duplicate section `.rdata$_ZTSN3Upp12RichValueRepINS_5ColorEEE[typeinfo name for Upp::RichValueRep<Upp::Color>]' has dif
	ferent size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Color.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_5ColorEEE[vtable for Upp::RawValueRep<Upp::Color>]' has different si
	ze

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Color.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_5Rect_IiEEEE[vtable for Upp::RichValueRep<Upp::Rect_<int> >]' has 
	different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp12RichValueRepINS_5Rect_IiEEEE[typeinfo name for Upp::RichValueRep<Upp::Rect_<int> >
	]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp11RawValueRepINS_5Rect_IiEEEE[typeinfo name for Upp::RawValueRep<Upp::Rect_<int> >]'
	 has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_5Rect_IiEEEE[vtable for Upp::RawValueRep<Upp::Rect_<int> >]' has di
	fferent size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\t.o: warning: dupl
	icate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Upp::St
	ring, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\t.o: warning: dupl
	icate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String0, Up
	p::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\parser.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Up
	p::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\parser.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String
	0, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\XML.o: warning: du
	plicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Upp::
	String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\XML.o: warning: du
	plicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String0, 
	Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_5ColorEEE[vtable for Upp::RichValueRep<Upp::Color>]' has different
	 size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp12RichValueRepINS_5ColorEEE[typeinfo name for Upp::RichValueRep<Upp::Color>]' has di
	fferent size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_5ColorEEE[vtable for Upp::RawValueRep<Upp::Color>]' has different s
	ize

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_5Rect_IiEEEE[vtable for Upp::RichValueRep<Upp::Rect_<int> >]' has 
	different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp12RichValueRepINS_5Rect_IiEEEE[typeinfo name for Upp::RichValueRep<Upp::Rect_<int> >
	]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp11RawValueRepINS_5Rect_IiEEEE[typeinfo name for Upp::RawValueRep<Upp::Rect_<int> >]'
	 has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_5Rect_IiEEEE[vtable for Upp::RawValueRep<Upp::Rect_<int> >]' has di
	fferent size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Up
	p::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String
	0, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp15Callback1ActionIRNS_6StreamEEE[typeinfo name for Upp::Callback1Action<Upp::Stream&
	>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Uuid.o: warning: d
	uplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\Base.o: war
	ning: duplicate section `.rdata$_ZTVN3Upp6FileInE[vtable for Upp::FileIn]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\Base.o: war
	ning: duplicate section `.rdata$_ZTVN3Upp7FileOutE[vtable for Upp::FileOut]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\CodeBrowser
	.o: warning: duplicate section `.rdata$_ZTVN3Upp10EditStringE[vtable for Upp::EditString]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\CodeBrowser
	.o: warning: duplicate section `.rdata$_ZTSN3Upp9EditValueINS_7WStringENS_13ConvertStringEEE[typeinfo name for Upp::Edit
	Value<Upp::WString, Upp::ConvertString>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\CodeBrowser
	.o: warning: duplicate section `.rdata$_ZTVN3Upp9EditValueINS_7WStringENS_13ConvertStringEEE[vtable for Upp::EditValue<U
	pp::WString, Upp::ConvertString>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\CodeBrowser
	.o: warning: duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\File.o: war
	ning: duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveab
	le<Upp::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\File.o: war
	ning: duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::S
	tring0, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/RichEdit/MINGW.Blitz.Gui\$blitz.o: warn
	ing: duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_4UuidEEE[vtable for Upp::RichValueRep<Upp::Uuid>]' has differe
	nt size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/RichEdit/MINGW.Blitz.Gui\$blitz.o: warn
	ing: duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_4UuidEEE[vtable for Upp::RawValueRep<Upp::Uuid>]' has different
	 size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/RichEdit/MINGW.Blitz.Gui\Find.o: warnin
	g: duplicate section `.rdata$_ZTSN3Upp20CallbackMethodActionINS_8RichEditEMS1_FvvEEE[typeinfo name for Upp::CallbackMeth
	odAction<Upp::RichEdit, void (Upp::RichEdit::*)()>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Esc/MINGW.Blitz.Gui\$blitz.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp6FileInE[vtable for Upp::FileIn]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Esc/MINGW.Blitz.Gui\$blitz.o: warning: 
	duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Upp
	::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Esc/MINGW.Blitz.Gui\$blitz.o: warning: 
	duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String0
	, Upp::EmptyClass>]' has different size

C:\upp2625\out\MINGW.Blitz.Gui\JFControlsDemo.exe (4678144 B) linked in (0:09.20)

OK. (0:17.96)


Now, edit(and undo or simply add a line, remove it) either of the 2 CPP files of the package directory and save them again. Now hit F7 to compile and you see this
----- JFControls ( GUI GCC BLITZ WIN32 ) (1 / 22)
----- Controls4U ( GUI GCC BLITZ WIN32 ) (2 / 22)
----- CtrlLib ( GUI GCC BLITZ WIN32 ) (3 / 22)
----- Functions4U ( GUI GCC BLITZ WIN32 ) (4 / 22)
----- Painter ( GUI GCC BLITZ WIN32 ) (5 / 22)
----- CtrlCore ( GUI GCC BLITZ WIN32 ) (6 / 22)
----- Draw ( GUI GCC BLITZ WIN32 ) (7 / 22)
----- plugin/bmp ( GUI GCC BLITZ WIN32 ) (8 / 22)
----- RichText ( GUI GCC BLITZ WIN32 ) (9 / 22)
----- Core ( GUI GCC BLITZ WIN32 ) (10 / 22)
----- plugin/z ( GUI GCC BLITZ WIN32 ) (11 / 22)
----- plugin/png ( GUI GCC BLITZ WIN32 ) (12 / 22)
----- plugin/bz2 ( GUI GCC BLITZ WIN32 ) (13 / 22)
----- ide/Browser ( GUI GCC BLITZ WIN32 ) (14 / 22)
----- Web ( GUI GCC BLITZ WIN32 ) (15 / 22)
----- CppBase ( GUI GCC BLITZ WIN32 ) (16 / 22)
----- ide/Common ( GUI GCC BLITZ WIN32 ) (17 / 22)
----- PdfDraw ( GUI GCC BLITZ WIN32 ) (18 / 22)
----- RichEdit ( GUI GCC BLITZ WIN32 ) (19 / 22)
----- ide/Core ( GUI GCC BLITZ WIN32 ) (20 / 22)
----- Esc ( GUI GCC BLITZ WIN32 ) (21 / 22)
----- JFControlsDemo ( GUI MAIN GCC BLITZ WIN32 ) (22 / 22)
main.cpp
JFControlsDemo: 1 file(s) built in (0:06.98), 6985 msecs / file, duration = 7032 msecs
Linking...
C:/upp2625/out/JFControlsDemo/MINGW.Blitz.Gui.Main\nidaq.o:nidaq.cpp:(.bss+0x0): multiple definition of `Settings'
C:/upp2625/out/JFControlsDemo/MINGW.Blitz.Gui.Main\main.o:main.cpp:(.bss+0x0): first defined here
c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/RichText/MINGW.Blitz.Gui\EncodeQtf.o: w
	arning: duplicate section `.rdata$_ZTSN3Upp14DeepCopyOptionINS_7RichTxt4ParaENS_10EmptyClassEEE[typeinfo name for Upp::D
	eepCopyOption<Upp::RichTxt::Para, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Stream.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp7FileOutE[vtable for Upp::FileOut]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Stream.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp6FileInE[vtable for Upp::FileIn]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Util.o: warning: d
	uplicate section `.rdata$_ZTVN3Upp6FileInE[vtable for Upp::FileIn]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Value.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Convert.o: warning
	: duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<U
	pp::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Convert.o: warning
	: duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::Strin
	g0, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Color.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_5ColorEEE[vtable for Upp::RichValueRep<Upp::Color>]' has different 
	size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Color.o: warning: 
	duplicate section `.rdata$_ZTSN3Upp12RichValueRepINS_5ColorEEE[typeinfo name for Upp::RichValueRep<Upp::Color>]' has dif
	ferent size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Color.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_5ColorEEE[vtable for Upp::RawValueRep<Upp::Color>]' has different si
	ze

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Color.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_5Rect_IiEEEE[vtable for Upp::RichValueRep<Upp::Rect_<int> >]' has 
	different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp12RichValueRepINS_5Rect_IiEEEE[typeinfo name for Upp::RichValueRep<Upp::Rect_<int> >
	]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp11RawValueRepINS_5Rect_IiEEEE[typeinfo name for Upp::RawValueRep<Upp::Rect_<int> >]'
	 has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Gtypes.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_5Rect_IiEEEE[vtable for Upp::RawValueRep<Upp::Rect_<int> >]' has di
	fferent size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\t.o: warning: dupl
	icate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Upp::St
	ring, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\t.o: warning: dupl
	icate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String0, Up
	p::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\parser.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Up
	p::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\parser.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String
	0, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\XML.o: warning: du
	plicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Upp::
	String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\XML.o: warning: du
	plicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String0, 
	Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_5ColorEEE[vtable for Upp::RichValueRep<Upp::Color>]' has different
	 size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp12RichValueRepINS_5ColorEEE[typeinfo name for Upp::RichValueRep<Upp::Color>]' has di
	fferent size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_5ColorEEE[vtable for Upp::RawValueRep<Upp::Color>]' has different s
	ize

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_5Rect_IiEEEE[vtable for Upp::RichValueRep<Upp::Rect_<int> >]' has 
	different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp12RichValueRepINS_5Rect_IiEEEE[typeinfo name for Upp::RichValueRep<Upp::Rect_<int> >
	]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp11RawValueRepINS_5Rect_IiEEEE[typeinfo name for Upp::RawValueRep<Upp::Rect_<int> >]'
	 has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_5Rect_IiEEEE[vtable for Upp::RawValueRep<Upp::Rect_<int> >]' has di
	fferent size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Up
	p::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String
	0, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Xmlize.o: warning:
	 duplicate section `.rdata$_ZTSN3Upp15Callback1ActionIRNS_6StreamEEE[typeinfo name for Upp::Callback1Action<Upp::Stream&
	>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Core/MINGW.Blitz.Gui\Uuid.o: warning: d
	uplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\Base.o: war
	ning: duplicate section `.rdata$_ZTVN3Upp6FileInE[vtable for Upp::FileIn]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\Base.o: war
	ning: duplicate section `.rdata$_ZTVN3Upp7FileOutE[vtable for Upp::FileOut]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\CodeBrowser
	.o: warning: duplicate section `.rdata$_ZTVN3Upp10EditStringE[vtable for Upp::EditString]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\CodeBrowser
	.o: warning: duplicate section `.rdata$_ZTSN3Upp9EditValueINS_7WStringENS_13ConvertStringEEE[typeinfo name for Upp::Edit
	Value<Upp::WString, Upp::ConvertString>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\CodeBrowser
	.o: warning: duplicate section `.rdata$_ZTVN3Upp9EditValueINS_7WStringENS_13ConvertStringEEE[vtable for Upp::EditValue<U
	pp::WString, Upp::ConvertString>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\CodeBrowser
	.o: warning: duplicate section `.rdata$_ZTVN3Upp5Value4VoidE[vtable for Upp::Value::Void]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\File.o: war
	ning: duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveab
	le<Upp::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/ide/Browser/MINGW.Blitz.Gui\File.o: war
	ning: duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::S
	tring0, Upp::EmptyClass>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/RichEdit/MINGW.Blitz.Gui\$blitz.o: warn
	ing: duplicate section `.rdata$_ZTVN3Upp12RichValueRepINS_4UuidEEE[vtable for Upp::RichValueRep<Upp::Uuid>]' has differe
	nt size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/RichEdit/MINGW.Blitz.Gui\$blitz.o: warn
	ing: duplicate section `.rdata$_ZTVN3Upp11RawValueRepINS_4UuidEEE[vtable for Upp::RawValueRep<Upp::Uuid>]' has different
	 size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/RichEdit/MINGW.Blitz.Gui\Find.o: warnin
	g: duplicate section `.rdata$_ZTSN3Upp20CallbackMethodActionINS_8RichEditEMS1_FvvEEE[typeinfo name for Upp::CallbackMeth
	odAction<Upp::RichEdit, void (Upp::RichEdit::*)()>]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Esc/MINGW.Blitz.Gui\$blitz.o: warning: 
	duplicate section `.rdata$_ZTVN3Upp6FileInE[vtable for Upp::FileIn]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Esc/MINGW.Blitz.Gui\$blitz.o: warning: 
	duplicate section `.rdata$_ZTSN3Upp8MoveableINS_6StringENS_7AStringINS_7String0EEEEE[typeinfo name for Upp::Moveable<Upp
	::String, Upp::AString<Upp::String0> >]' has different size

c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: C:/upp2625/out/Esc/MINGW.Blitz.Gui\$blitz.o: warning: 
	duplicate section `.rdata$_ZTSN3Upp8MoveableINS_7String0ENS_10EmptyClassEEE[typeinfo name for Upp::Moveable<Upp::String0
	, Upp::EmptyClass>]' has different size

collect2: ld returned 1 exit status

There were errors. (0:26.81)


Notice the line following this one. That is the only difference.
----- JFControlsDemo ( GUI MAIN GCC BLITZ WIN32 ) (22 / 22)

The way to overcome this problem is to exit the IDE and reload the package. Then you see the first type of compilation again and everything links fine. Even a clean build (bomb symbol) does not build cleanly. The only way is to exit and reload the IDE and then build.
FYI: My setup is IDE 2625/WinXP/MinGW32_4.4.1

Is there some kind of control I can have over the build process? Where should I look to understand this ?


Added: If I see BLITZ : main.cpp nidaq.cpp on one line, all is fine; but, if I see main.cpp on one line followed by nidaq.cpp on the next line or any other order depending on which file has changed, the compile process returns errors. I tried to add dependencies of main.cpp on nidaq.cpp and vice versa - No luck.

Regards

[Updated on: Fri, 03 September 2010 08:22]

Report message to a moderator

Re: I have a problem linking a LIB [message #28484 is a reply to message #28480] Fri, 03 September 2010 08:20 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3355
Registered: August 2008
Senior Veteran
Hello Jerson

Quote:

I wonder if you could help me with tips on how you got that line 82 issue as I still have to integrate this code with my main project and it is giving problems.

I always test new code with MinGW and MSC. Sometimes one gets a thing the other does not. In this case these errors are given by MSC. Perhaps changing some compiling options, MinGW/Gcc could do the same.


Best regards
Iñaki
Re: I have a problem linking a LIB [message #28486 is a reply to message #28484] Fri, 03 September 2010 08:28 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3355
Registered: August 2008
Senior Veteran
Hello Jerson

Perhaps I am wrong. Sometimes wrong LIBs give very strange errors.

I advice you to compile your project without the LIB, using dummy versions of the functions called in the LIB. And see if it now works.

In the same way, you can test with MSC and MinGW in Debug and Optimal modes. Sometimes Debug mode intermittently hides problems that will appear more usually in optimal mode.

Did case 1 run well with your hardware?


Best regards
Iñaki
Re: I have a problem linking a LIB [message #28487 is a reply to message #28462] Fri, 03 September 2010 08:50 Go to previous messageGo to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

Yes case 1 is just of the functions that works on the hardware. It linked ok when I tested it last time. I mostly compile in Optimal mode to get small executables. I am not yet familiar with debugging code in the IDE, so I pass on that.

As far as I can tell, something is confusing the IDE when it is trying to build. Stopping and restarting the IDE clears that confusion and the project builds. Now that is confusing me Smile What it means is if I change even a single line in any of the CPP files, I need to shut the IDE and restart to get a correct build / diagnosis of the problem

I was looking through the UPP sources, but it is way beyond me at this time. The thing that bothers me is why it does
BLITZ : main.cpp nidaq.cpp
sometimes and
main.cpp
nidaq.cpp
another time

Between these 2 types of compile, I face the problems. Something is getting disturbed once the file is modified which prevents the BLITZ line from coming. Perhaps that also affects the compile and build process.

I feel encouraged that you are looking at my problem. Thank you

PS: I think I may have an answer. Adding this line to NIDAQ.CPP seems to solve the problem - but I don't know why as yet Uh Oh
#include <JFControls/JFControls.h>
This file contains the following lines
#ifndef _JFControls_JFControls_h_
#define _JFControls_JFControls_h_

#include <CtrlLib/CtrlLib.h>
#include <Controls4U/Controls4U.h>
#include <JFControls/MyMeter.h>
#include <JFControls/JFslider.h>
#include <JFControls/SlideSw.h>
#include <JFControls/JFStaticText.h>

using namespace Upp;



#endif


and I traced it down to Controls4u.h It is just the file that I need to include in NIdaq.cpp for the project to compile and build.

ps2: I tracked it down to core.h that is needed for the nidaq.cpp to build and link correctly. Now I am totally confused Shocked


end ps

[Updated on: Fri, 03 September 2010 09:30]

Report message to a moderator

Re: I have a problem linking a LIB [message #28488 is a reply to message #28487] Fri, 03 September 2010 09:31 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3355
Registered: August 2008
Senior Veteran
Hello Jerson

Yes, now I understand your initial question Smile.

In case 2 go to nidaq.cpp and begin it with this:

#include <CtrlLib/CtrlLib.h>	// Added
using namespace Upp;			// Added
#include "NIDAQmx.h"


or instead, do not change nidaq.cpp and in NIDAQmx.h uncomment int16 and int32.

About compiling problems, I have found them but I am trying to define them in a simple manner to be easily reproduced.


Best regards
Iñaki
Re: [SOLVED] I have a problem linking a LIB [message #32429 is a reply to message #28462] Tue, 17 May 2011 15:39 Go to previous messageGo to next message
jibe is currently offline  jibe
Messages: 294
Registered: February 2007
Location: France
Experienced Member
Hi,

I have a similar problem, but don't find any way to avoid link errors :
- Stop and re-launch Theide,
- Change mode Debug/Optimal/speed/size,
- Verify all config files that I think they could change something

I don't find any way to avoid the link error...

I have 2 very similar apps, 1 is Ok and the other not, I don't see any difference... I don't understand...

There is surely some config or else that I don't see... What could make this error ?
Re: [SOLVED] I have a problem linking a LIB [message #32430 is a reply to message #32429] Tue, 17 May 2011 15:56 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3355
Registered: August 2008
Senior Veteran
Hello Beji

Could you submit the lib package with a simple sample to check?


Best regards
Iñaki
Re: [SOLVED] I have a problem linking a LIB [message #32505 is a reply to message #28462] Mon, 23 May 2011 09:40 Go to previous messageGo to next message
jibe is currently offline  jibe
Messages: 294
Registered: February 2007
Location: France
Experienced Member
Hi,

Sorry, Koldo : I was busy on others works... Thanks for your help Smile

Finally, I found the problem. Seems that I did not understand something about namespace upp... I had this code for a control :

#include <CtrlLib/CtrlLib.h>

NAMESPACE_UPP

#include "MyControl.h"

(code for this control...)

END_UPP_NAMESPACE


I just changed NAMESPACE_UPP to "using namespace Upp;"

#include <CtrlLib/CtrlLib.h>

//NAMESPACE_UPP
using namespace Upp;

#include "MyControl.h"

(code for this control...)

//END_UPP_NAMESPACE

... and it's working !

[Updated on: Mon, 23 May 2011 09:42]

Report message to a moderator

Re: [SOLVED] I have a problem linking a LIB [message #32520 is a reply to message #32505] Mon, 23 May 2011 16:03 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3355
Registered: August 2008
Senior Veteran
Smile

Best regards
Iñaki
Re: [SOLVED] I have a problem linking a LIB [message #32538 is a reply to message #28462] Tue, 24 May 2011 09:33 Go to previous messageGo to next message
mr_ped is currently offline  mr_ped
Messages: 825
Registered: November 2005
Location: Czech Republic - Praha
Experienced Contributor
NAMESPACE_UPP and END_UPP_NAMESPACE are used to define things in Upp:: namespace, ie. if you are extending UPP lib itself.

When you are working on your own classes, which just use Upp classes, you should rather use "using namespace Upp;", or write Upp:: everywhere ahead of UPP class, but keep your app classes outside of Upp namespace. (either in no namespace or in your own app namespace)
Re: [SOLVED] I have a problem linking a LIB [message #32590 is a reply to message #28462] Thu, 26 May 2011 11:24 Go to previous message
jibe is currently offline  jibe
Messages: 294
Registered: February 2007
Location: France
Experienced Member
Hi,

Thanks for these explanations Smile
Previous Topic: How to reference value of an item on a layout?
Next Topic: Control with fixed rate Height/Width
Goto Forum:
  


Current Time: Fri Mar 29 14:10:44 CET 2024

Total time taken to generate the page: 0.01194 seconds