Web lists-archives.com

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




oh , before using mingw have ensuring that collect.exe run  , there is
always a missing dll that need to be copied from binutils folder that
is C:/MinGW/bin  to that folder containing linker , please ensure
that all binutils run before using MinGW gcc compiler collection

On 25/11/2016, frank muhoro <frankmuhoro76@xxxxxxxxx> wrote:
> 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