From: Eli Z. <el...@gn...> - 2013-03-23 09:20:55
|
> From: Sonya Blade <son...@ho...> > Date: Sat, 23 Mar 2013 09:01:04 +0000 > > I wish to know, when working on a legacy code does it produces > the different results if I work with different terminals ? Unlikely. > Secondly, I would like to know even if I succeed to compile any library > and having obtained the *.a file. Does it mean that there can still > be the malfunctioning and uncompiled code in the final library file (*.a) ? No. > As is being shown in the compilation report below ( I use CodeBlock), > although I've compiled the libprimme.a library why the linker still complains > about "undefined reference for some functions" where I'm sure that those are > intrinsic function coming from C or C++. And why in the first place nowhere in > neither of terminals showed any warning errors and created teh libprimme.a file? Because libprimme.a is just a library. The linker only checks that every reference can be resolved at link time, not at library creation time. > ..\..\..\..\PRIMME\libprimme.a(primme_interface.o):primme_interface.c|| undefined reference to `valloc'| MinGW doesn't have 'valloc', AFAIK. My guess is that you compiled sources that do not support MinGW, because they use functions, such as 'valloc', which are only available on Posix systems. > ..\..\..\..\PRIMME\libprimme.a(primme_interface.o):primme_interface.c|| undefined reference to `gethostname'| > ..\..\..\..\PRIMME\libprimme.a(primme_interface.o):primme_interface.c|| undefined reference to `gethostname'| > ||=== Build finished: 3 errors, 0 warnings (0 minutes, 3 seconds) ===| To get 'gethostname', you need to include winsock2.h and have -lws2_32 on the link command line. Again, the program you compiled probably doesn't support MinGW, so it didn't do that. |