diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-FF6846AA-7E8B-40DC-B6EC-32A8550F4942.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-FF6846AA-7E8B-40DC-B6EC-32A8550F4942.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,59 @@ + + + + + +Using +Carbide.c++ and P.I.P.S. +

To be able to use P.I.P.S. and Carbide.c++ efficiently, perform the following +steps:

+
    +
  • Define the system include files required by P.I.P.S.. This is done +in the System Options view in the Project +Properties window.

  • +
  • Specify the needed P.I.P.S. libraries:

      +
    • libc.lib must always be specified.

    • +
    • Libraries must be specified for all build configurations.

    • +

  • +
+The include paths for P.I.P.S. headers must be specified as well as +the used P.I.P.S. libraries. +This must be done for all possible build configurations. +
Inclusion +of <filepath>libc.lib</filepath> in the MMP file

libc.lib must +be included in the MMP file for both the WINSCW as well as +the target. The code will compile and link for WINSCW even +if libc.lib is not mentioned in the MMP file, but will +fail during execution. If libc.lib is not mentioned in +the MMP file for the target, the code will compile but will fail during linking.

+
+
Order of the <codeph>SYSTEMINCLUDE</codeph> in +the MMP file

Carbide.c++ 1.1 does not take into account the header +file inclusion order as mentioned in the MMP file. This is a typical scenario +when the user needs the headers from both P.I.P.S. and estlib.lib. +Although, the order of the SYSTEMINCLUDE in the MMP file +is:

epoc32\include\stdapis +epoc32\include\libc

epoc32\include\libc will +be included first followed by epoc32\include\stdapis. +(It might be included on the basis of alphabetical order).

This issue +can be resolved by manually changing the project properties in carbide.c++ +IDE. In order to change the Project Properties in Carbide.c++ +IDE:

    +
  1. Go to Project.

  2. +
  3. Click on Property.

  4. +
  5. Click on C +\C++. Build and choose the ToolSettings Tab

  6. +
+
Suppressing +"illegal implicit conversion error"

The code that makes use of implicit +pointer casts will not compile with the WINSCW compiler. +The compilation breaks with "illegal implicit conversion error". However, +the same code will compile with GCC compiler. A work around for this problem +without changing the code is to define a pragma.

+
\ No newline at end of file