extern "C" and undefined reference

Andrew Pantyukhin infofarmer at FreeBSD.org
Sun Apr 22 22:22:00 UTC 2007


7zip developers converted some code from C++ to C,
while leaving the main stand-alone lzma app in C++.
They use 'extern "C" { }' blocks around #include's
referencing C headers.

Everything compiles fine, but "undefined reference"
errors appear at linkage. The undefined references
are to the C functions included from withing those
'extern "C"' wrappers. I tried to remove the
wrappers from some files and the amount of errors
decreased a bit. Is there a better workaround?

Google came up with two results: remove the wrappers
or use c++ instead of cc. I'm already using c++.

Thanks!


More information about the freebsd-hackers mailing list