4

I compiled the speex library for symbian using carbide C++. The compile completes with zero errors/warnings.

I use the compiled library in my QT application. Compiling the QT application gives the following error -

warning: COMDAT symbol '.exc$T' does not match section name '.rdata' (Its really an error, not a warning. the word warning is just part of the error string.)

I executed "nm speex.lib" on cygwin. In the output I can see the same string - warning: COMDAT symbol '.exc$T' does not match section name '.rdata'. (So I guess it is a warning within the lib and it becomes an error when used with QT).

I don't understand the meaning of this error. Google search was not very helpful! please help!

user434541
  • 1,305
  • 2
  • 13
  • 21
  • Are you using the same compiler, compiler settings, and compiler version to compile all the libraries in your application? – Billy ONeal Aug 31 '10 at 23:02
  • Yes the library is compiled with the same compiler. But the application that imports the library uses a different compiler. – user434541 Aug 31 '10 at 23:08
  • @user: That's not going to work. C++ does not have a standard ABI -- everything **must** be compiled with the same compiler, same compiler version, and same compiler settings, or you're going to get these kinds of errors when things don't match up. – Billy ONeal Sep 01 '10 at 01:21
  • I am curious as to why I see the error string when I execute "nm" on the library file, at that point in time the other 'compiler' has not yet come into action. – user434541 Sep 01 '10 at 10:35

0 Answers0