tags:

views:

96

answers:

1

I got errors when trying to use __sync_add_and_fetch:

test8.cpp:(.text+0x90e): undefined reference to `__sync_add_and_fetch_8'
collect2: ld returned 1 exit status

Please kindly advise how to rectify this.

Specs: GCC/G++: 4.4.1 GNU/Linux 2.6.32 SMP i686

Many thanks!

EDIT:

In addition to the answer provided, one can use -march=i586 or -march=i686 to link successfully.

Note: This requires GCC/G++ 4.1.x and above!

+3  A: 

That function is not supported on all x86 architectures. Try specifying your architecture, such as --with-arch=pentium4.

Andreas Bonini
Thanks! -march=i586 or -march=i686 also works!
Viet