The order of arguments differs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I am compiling a program on 2 computers.

Table of contents
1. First computer
2. Second computer
3. Conclusion

1. First computer

$ gcc src/main.c `xml2-config --libs` `xml2-config --cflags`

Now with a different order of arguments :
$ gcc `xml2-config --libs` `xml2-config --cflags` src/main.c
/tmp/ccXlXfPu.o: In function `parseDoc':
main.c:(.text+0xd): undefined reference to `xmlParseFile'
main.c:(.text+0x51): undefined reference to `xmlCleanupParser'
main.c:(.text+0x63): undefined reference to `xmlFreeDoc'
main.c:(.text+0x68): undefined reference to `xmlCleanupParser'
collect2: ld a retourné 1 code d'état d'exécution

So, I must put the input file first.

Problem : this is not what is written on my man :
$ man gcc
SYNOPSIS
       gcc [-c|-S|-E] [-std=standard]
           [-g] [-pg] [-Olevel]
           [-Wwarn...] [-pedantic]
           [-Idir...] [-Ldir...]
           [-Dmacro[=defn]...] [-Umacro]
           [-foption...] [-mmachine-option...]
           [-o outfile] [@file] infile...

$ gcc --version
gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
Copyright © 2011 Free Software Foundation, Inc.
...

2. Second computer

$ gcc src/main.c `xml2-config --libs` `xml2-config --cflags`
$ gcc `xml2-config --libs` `xml2-config --cflags` src/main.c

So it works with any order.

$ gcc --version
gcc (Debian 4.4.5-8) 4.4.5
Copyright © 2010 Free Software Foundation, Inc.
...

3. Conclusion

It's a big problem to have a different behaviour on each computer.
My autotools put the input file at the end, so the compile failed on the first computer.
Do you think it's a gcc problem?

Thank you.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux