Web lists-archives.com

Re: [Mingw-users] Can't do partial linking with libmoldname.a?




To be sincere I have been using makefiles since and the same MinGW
from sourceforge using mingw-get.exe  and things are always good for
me , I also use CMake , but I normally program as a hobby

On 25/11/2016, frank muhoro <frankmuhoro76@xxxxxxxxx> wrote:
> if you want an executable called frank.exe  you have to link lets say
> frank.o  boyang.o or a static library , this is the reason makefiles
> are there for you , I would suggest you to learn how to write gnu
> makefiles www.gnu.org/software/make/manual  then use MSYS base to run
> make  make --always-make to produce executable , learn how to invoke
> binutils within the makefile
>
> On 25/11/2016, frank muhoro <frankmuhoro76@xxxxxxxxx> wrote:
>> please file the error that gcc compiler yields
>>
>> On 25/11/2016, 张博洋 <zhangboyang.id@xxxxxxxxx> wrote:
>>> emm... I'm not linking an executable and an object file. In fact, I
>>> tried to partial linking an object file and a library (or archive file),
>>> that succeeds. But when I tried to generate EXE from the partial linking
>>> output object file, it failed.
>>>
>>> my first step:
>>> 	test.c  ===== gcc C compiler =====> test.o
>>> 	(compile only, no linking, succeed)
>>> second step:
>>> 	test.o + libmoldname.a === ld linker ===> big.o
>>> 	(partial linking an object file 'test.o' and an archive file
>>> 'libmoldname.a', should generate an object file 'big.o', succeed)
>>> third step:
>>> 	big.o ==== use gcc as linker ====> test.exe
>>> 	(generate executable from one object file, failed)
>>>
>>> 	
>>>> an executable  is as a result of linking two object files , you can't
>>>> link an executable and an object file , again gcc is a c compiler not
>>>> a linker although it can invoke it  ,  in your  command you seem to
>>>> want gcc to combine an object file to an executable , if you have
>>>> issues with linking I suggest you learn to use makefiles,makefile
>>>> generators(cmake) etc and analyze the generated makefiles , ld.exe is
>>>> the linker ,thank you.
>>>>
>>>> On 25/11/2016, 张博洋 <zhangboyang.id@xxxxxxxxx> wrote:
>>>>>
>>>>> Hello,
>>>>>      I'm trying to do partial linking a .o file with libmoldname.a,
>>>>> the
>>>>> partial linking is OK, but when I linking the generated .o to .exe,
>>>>> the
>>>>> linking failed. Here are my steps:
>>>>>      I have a C source file, test.c, with the following code:
>>>>>          #include <stdio.h>
>>>>>          #include <string.h>
>>>>>          int main()
>>>>>          {
>>>>>              puts(strdup("hello"));
>>>>>                  // strdup() is in libmoldname.a
>>>>>              return 0;
>>>>>          }
>>>>>      Compile the C code (success):
>>>>>          gcc -c -o test.o test.c
>>>>>          Partial linking (success):
>>>>>          ld -o big.o -r test.o /mingw/lib/libmoldname.a
>>>>>      Finally, link to generate EXE file (failed):
>>>>>          gcc -o test.exe big.o
>>>>>      The error message is:
>>>>>
>>>>> c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe:
>>>>> final link failed: File truncated
>>>>>
>>>>>      Is this a bug? Or the libmoldname.a can't be partial linked?
>>>>>
>>>>> --
>>>>> Regards,
>>>>> Zhang Boyang
>>>>> School of Computer Science, Fudan University, P.R.China
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> _______________________________________________
>>>>> MinGW-users mailing list
>>>>> MinGW-users@xxxxxxxxxxxxxxxxxxxxx
>>>>>
>>>>> This list observes the Etiquette found at
>>>>> http://www.mingw.org/Mailing_Lists.
>>>>> We ask that you be polite and do the same.  Disregard for the list
>>>>> etiquette
>>>>> may cause your account to be moderated.
>>>>>
>>>>> _______________________________________________
>>>>> You may change your MinGW Account Options or unsubscribe at:
>>>>> https://lists.sourceforge.net/lists/listinfo/mingw-users
>>>>> Also:
>>>>> mailto:mingw-users-request@xxxxxxxxxxxxxxxxxxxxx?subject=unsubscribe
>>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> _______________________________________________
>>>> MinGW-users mailing list
>>>> MinGW-users@xxxxxxxxxxxxxxxxxxxxx
>>>>
>>>> This list observes the Etiquette found at
>>>> http://www.mingw.org/Mailing_Lists.
>>>> We ask that you be polite and do the same.  Disregard for the list
>>>> etiquette may cause your account to be moderated.
>>>>
>>>> _______________________________________________
>>>> You may change your MinGW Account Options or unsubscribe at:
>>>> https://lists.sourceforge.net/lists/listinfo/mingw-users
>>>> Also:
>>>> mailto:mingw-users-request@xxxxxxxxxxxxxxxxxxxxx?subject=unsubscribe
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> MinGW-users mailing list
>>> MinGW-users@xxxxxxxxxxxxxxxxxxxxx
>>>
>>> This list observes the Etiquette found at
>>> http://www.mingw.org/Mailing_Lists.
>>> We ask that you be polite and do the same.  Disregard for the list
>>> etiquette
>>> may cause your account to be moderated.
>>>
>>> _______________________________________________
>>> You may change your MinGW Account Options or unsubscribe at:
>>> https://lists.sourceforge.net/lists/listinfo/mingw-users
>>> Also:
>>> mailto:mingw-users-request@xxxxxxxxxxxxxxxxxxxxx?subject=unsubscribe
>>
>

------------------------------------------------------------------------------
_______________________________________________
MinGW-users mailing list
MinGW-users@xxxxxxxxxxxxxxxxxxxxx

This list observes the Etiquette found at 
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:mingw-users-request@xxxxxxxxxxxxxxxxxxxxx?subject=unsubscribe