On Aug 15, 2008, at 11:25 PM, Kartik Mahajan wrote:
> mysql_next_result ./libmysqlpp.so
> mysql_more_results ./libmysqlpp.so
> mysql_set_server_option ./libmysqlpp.so
There's two possibilities here.
One is that you're mixing headers and libraries from two different
versions of MySQL. These three are relatively new functions in the C
API library, all added in the 4.1 series. MySQL++ has #ifdef guards
to prevent using these if you build it against older headers, but if
you use new headers with old libraries, you'll get this symptom. On
Solaris, I'd only use the mysql5 package (not the 'mysql' one...that's
from the 4.x series) that's available through the Package Manager.
That's what I tested 3.0.5 against.
The other possibility is that the linker is sensitive to the order of
the -lmysqlclient and -lmysqlpp flags on that command line.
Technically, the order of libraries as you see them should be swapped
end-for-end, with the most generic ones at the end, since Unix linkers
often collect right-to-left only. But, if that were the problem, I
don't see why it would be complaining only about these three
functions, or why it worked for me.