core/com.nokia.carbide.cpp.doc.user/html/hints_tips.htm
author timkelly
Fri, 27 Mar 2009 10:47:09 -0500
changeset 17 71c0485f97c2
parent 2 d760517a8095
child 132 33c6fe7054ce
permissions -rw-r--r--
new image for CDK
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
cawthron
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
cawthron
parents:
diff changeset
     2
cawthron
parents:
diff changeset
     3
<html>
cawthron
parents:
diff changeset
     4
<head>
cawthron
parents:
diff changeset
     5
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
cawthron
parents:
diff changeset
     6
	<title>Carbide.c++ Tips &amp; Hints</title>
cawthron
parents:
diff changeset
     7
    <link href="../book.css" rel="stylesheet" type="text/css">
cawthron
parents:
diff changeset
     8
</head>
cawthron
parents:
diff changeset
     9
cawthron
parents:
diff changeset
    10
<body>
cawthron
parents:
diff changeset
    11
<h2>Carbide.c++ Tips &amp; Hints</h2>
cawthron
parents:
diff changeset
    12
<p>Hints and tips are sorted by these categories:</p>
cawthron
parents:
diff changeset
    13
<ul>
cawthron
parents:
diff changeset
    14
   <li><a href="#carbide">Carbide.c++</a></li>
cawthron
parents:
diff changeset
    15
   <li><a href="#projects">Projects</a></li>
cawthron
parents:
diff changeset
    16
   <li><a href="#debugging">Debugging</a></li>
cawthron
parents:
diff changeset
    17
   <li><a href="#connectivity">Connectivity</a></li>
cawthron
parents:
diff changeset
    18
</ul>
cawthron
parents:
diff changeset
    19
 <h3><a name="carbide"></a>Carbide.c++</h3>
cawthron
parents:
diff changeset
    20
 <h5 class="note">Is there any help that describes what regular expression syntax support is available? </h5>
cawthron
parents:
diff changeset
    21
 <blockquote>
cawthron
parents:
diff changeset
    22
   <p>Yes there is. In dialogs that support regular expression syntax, like the <b>Find/Replace</b> dialog, simply enable the <b>Regular Expressions</b> option, click in any text box that accepts a regular expression, then press <span class="code">CTRL+Space</span>. A pop-up appears showing you the syntax available for using  regular expressions. Holding the pointer over a item in the pop-up opens an additional info dialog of helpful information.</p>
cawthron
parents:
diff changeset
    23
   <p>Also, note the presence of the lightbulb icon next to the active text box. This indicates specific assistance is available for the text box by pressing <span class="code">CTRL+Space</span>. Note that in  non-English  versions of Microsoft Windows&reg;, the <span class="code">CTRL+Space</span> key binding may be intercepted to open the input method dialog, so try using <span class="code">ALT+/</span> instead.</p>
cawthron
parents:
diff changeset
    24
</blockquote>
cawthron
parents:
diff changeset
    25
 <h5 class="note">How can I search for files outside of the workspace? </h5>
cawthron
parents:
diff changeset
    26
<blockquote>
cawthron
parents:
diff changeset
    27
   <p>Use the <a href="reference/search/wnd_system_search.htm">System Search</a> feature in Carbide. Click <b>Search &gt; System...</b>, enter the search data, press Search. </p>
cawthron
parents:
diff changeset
    28
</blockquote>
cawthron
parents:
diff changeset
    29
 <h5 class="note">How can I quickly open a .h file associated from the source file I am currently editing ? </h5>
cawthron
parents:
diff changeset
    30
 <blockquote>
cawthron
parents:
diff changeset
    31
   <p>The CDT editor supports quick opening of associated .h files. To view the .h file, select the name of the .h file in the source you are currently editing and press F3 (Open Declaration). A new editor view will appear and display the .h file. </p>
cawthron
parents:
diff changeset
    32
</blockquote>
cawthron
parents:
diff changeset
    33
 <h5 class="note">I can't locate the eclipse.ini file to modify the behavior of Carbide.c++, where can I find it? </h5>
cawthron
parents:
diff changeset
    34
 <blockquote>
cawthron
parents:
diff changeset
    35
  <p>The <span class="code">eclipse.ini</span> file was renamed the <span class="code">carbide.c++.1.x.ini</span> file to keep the <span class="code">.exe</span> and <span class="code">.ini</span> files in sync. </p>
cawthron
parents:
diff changeset
    36
</blockquote>
cawthron
parents:
diff changeset
    37
 <h5 class="note"><a name="VMissues"></a>I can't launch Carbide.c++ due to &quot;Error occurred in initialization of VM, could not reserve enough space for object heap? </h5>
cawthron
parents:
diff changeset
    38
 <blockquote>
cawthron
parents:
diff changeset
    39
   <p>By default, the heap space set aside for Carbide is 1024MB. You can see this setting in the <span class="code">carbide.c++.1.x.ini</span> file as the line &quot;<span class="code">-Xmx1024m</span>&quot;. Some system may have limited VM space available so we suggest you try lowering the default amount to  &quot;<span class="code">-Xmx512m</span>&quot; and  relaunching Carbide. </p>
cawthron
parents:
diff changeset
    40
</blockquote>
cawthron
parents:
diff changeset
    41
 <h5 class="note">I want to use CDT for other C/C++ development in Carbide.c++</h5>
cawthron
parents:
diff changeset
    42
 <blockquote>
cawthron
parents:
diff changeset
    43
  <p>Carbide.c++ hides some CDT UI elements using capabilities.  We do this to avoid confusion as there are several things labeled C/C++ that don't really apply to Symbian development.  To show these items, you need to add the Eclipse SDK to your Carbide.c++ installation (download link:<span class="code"> www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.2.1-200609210945/eclipse-SDK-3.2.1-win32.zip</span>), and then enable it from the preferences (<b>Window > Preferences > General > Capabilities > Nokia Debug</b>).</p>
cawthron
parents:
diff changeset
    44
</blockquote>
cawthron
parents:
diff changeset
    45
 <h5 class="note">When I press F1 in a dialog, the help pane isn't very helpful? </h5>
cawthron
parents:
diff changeset
    46
 <blockquote>
cawthron
parents:
diff changeset
    47
   <p>If the Help pane does not display   information specific to the page content, it may be because the page in the dialog doesn't have focus. This often occurs in a wizard page when nothing has been selected on the page. The help system has not  been told which  help content to display in the About section of the help pane. </p>
cawthron
parents:
diff changeset
    48
   <p class="note"><b>NOTE</b> The Dynamic help section usually displays the proper helpful links, just not as specific as the About section should display. </p>
cawthron
parents:
diff changeset
    49
   <p>To get the proper content to appear, close the help pane, go to the previous page in the wizard by clicking Previous. Now, click Next to advance, select a field in the page to set the focus, then press F1. The correct help content links should now appear. </p>
cawthron
parents:
diff changeset
    50
</blockquote>
cawthron
parents:
diff changeset
    51
 <h3><a name="projects"></a>Projects</h3>
cawthron
parents:
diff changeset
    52
 <h5>Where are project files created and which ones can I safely delete? </h5>
cawthron
parents:
diff changeset
    53
 <blockquote>
cawthron
parents:
diff changeset
    54
   <p>Project files are created in the &quot;Root directory&quot; chosen during bld.inf import on the Project Properties wizard page. If a project has already been created at the same project root you cannot create another project in the same location, you will need to choose another project root. </p>
cawthron
parents:
diff changeset
    55
   <p>When projects are deleted, the project files are not always deleted. If you want to delete these project files they are:</p>
cawthron
parents:
diff changeset
    56
   <p>     <span class="code">.project<br>
cawthron
parents:
diff changeset
    57
    .cproject</span></p>
cawthron
parents:
diff changeset
    58
   <p>You can delete the <span class="code">.settings</span> folder which contains:</p>
cawthron
parents:
diff changeset
    59
   <p>     <span class="code">\.settings\.carbide_build_settings<br>
cawthron
parents:
diff changeset
    60
    \.settings\org.eclipse.cdt.core<br>
cawthron
parents:
diff changeset
    61
    \.settings\com.nokia.carbide.cpp.project.core.prefs</span></p>
cawthron
parents:
diff changeset
    62
 </blockquote>
cawthron
parents:
diff changeset
    63
 <h5>Saving projects in CVS</h5>
cawthron
parents:
diff changeset
    64
 <blockquote>
cawthron
parents:
diff changeset
    65
   <p>To put a project under CVS control, the project configuration files that reside under the project directory need to be checked into CVS. These include .cproject, .project, application.uidesign (for UI designer applications) and the .settings folder and files (.carbide_build_settings and org.eclipse.cdt.core.prefs). The workspace .metadata folder does not need to be stored in CVS. The necessary metadata will be reconstructed when you check out projects from version control.</p>
cawthron
parents:
diff changeset
    66
 </blockquote>
cawthron
parents:
diff changeset
    67
 <h5>The Default entry in devices.xml must have a valid EPOCROOT</h5>
cawthron
parents:
diff changeset
    68
 <blockquote>
cawthron
parents:
diff changeset
    69
   <p>The <span class="code">devices.xml</span> file contains a list of all installed SDKs. There are three things Carbide.c++ requires to successfully build a program. They include:</p>
cawthron
parents:
diff changeset
    70
   <ul>
cawthron
parents:
diff changeset
    71
     <li>Perl 5.6.1 must be installed</li>
cawthron
parents:
diff changeset
    72
     <li>One of the SDKs is set as the &quot;default&quot; SDK</li>
cawthron
parents:
diff changeset
    73
     <li>The SDK must have  a valid <span class="code">EPOCROOT</span> setting</li>
cawthron
parents:
diff changeset
    74
   </ul>
cawthron
parents:
diff changeset
    75
   <p>In any of the above are missing or incorrect, Carbide.c++ can not build a Symbian OS program. </p>
cawthron
parents:
diff changeset
    76
 </blockquote>
cawthron
parents:
diff changeset
    77
 <h5 class="note">Adding Program Resources</h5>
cawthron
parents:
diff changeset
    78
 <blockquote>
cawthron
parents:
diff changeset
    79
   <p><span class="note">For resources that are included after creating a project, the user should ensure that the output location is set correctly by viewing the file properties. The output location is set to &quot;<span class="code">{EPOCROOT}\epoc32\include</span>&quot; by default, so if an alternate location is required the user can set this in the file properties. </span></p>
cawthron
parents:
diff changeset
    80
</blockquote>
cawthron
parents:
diff changeset
    81
<h5>Importing more than one project from the same bld.inf</h5>
cawthron
parents:
diff changeset
    82
 <blockquote>
cawthron
parents:
diff changeset
    83
   <p>You cannot import projects that are part of a BLD.INF file seperately. Carbide projects are the equivilent of a BLD.INF file within the workspace, not an MMP file. To work with two or more MMP projects inside a BLD.INF file, simply import the BLD.INF file as a single project, then build it all or select any of its MMP files to build only that subset of the project.</p>
cawthron
parents:
diff changeset
    84
</blockquote>
cawthron
parents:
diff changeset
    85
<h3><a name="debugging" id="debugging"></a>Debugging</h3>
cawthron
parents:
diff changeset
    86
 <h5>My breakpoints are not getting resolved, what could be causing this?</h5>
cawthron
parents:
diff changeset
    87
 <blockquote>
cawthron
parents:
diff changeset
    88
   <p>If the file you are trying to debug is outside the project then you should import the binary into the project you are currently trying to debug. </p>
cawthron
parents:
diff changeset
    89
 </blockquote>
cawthron
parents:
diff changeset
    90
 <h5>New debug launch configuration fields not filled in correctly upon creation </h5>
cawthron
parents:
diff changeset
    91
 <blockquote>
cawthron
parents:
diff changeset
    92
   <p>See &quot;Debug icon not visible on executable in C/C++ Projects view&quot; to correct this issue. Once completed, try to create a debug launch configuration again. Click the New button in the Configuration window to create a new configuration with the correct project information. </p>
cawthron
parents:
diff changeset
    93
</blockquote>
cawthron
parents:
diff changeset
    94
 <h5>Debug icon not visible on executable in C/C++ Projects view </h5>
cawthron
parents:
diff changeset
    95
 <blockquote>
cawthron
parents:
diff changeset
    96
   <p>This is commonly caused when the binary parser is not set correctly in the project. To correct, open the project properties window (right-click project name in C/C++ Projects view and select Properties), expand the C/C++ Build section and click the Binary Parser tab in the C/C++ Build page. Now look for the PE Windows Parser option. If it's not checkmarked, checkmark it and click Apply. If it is already set then uncheck it and click Apply, then reapply a checkmark and click Apply. The debug icon should now appear.</p>
cawthron
parents:
diff changeset
    97
 </blockquote>
cawthron
parents:
diff changeset
    98
<h3><a name="connectivity" id="connectivity"></a>Connectivity</h3>
cawthron
parents:
diff changeset
    99
 <h5>Unable to connect to device using Bluetooth and debug it using TRK </h5>
cawthron
parents:
diff changeset
   100
<blockquote>
cawthron
parents:
diff changeset
   101
   <p>When using Bluetooth to connect to a device there are several things that require correction, including:</p>
cawthron
parents:
diff changeset
   102
  <ul>
cawthron
parents:
diff changeset
   103
    <li>If using built-in Bluetooth under WinXP SP2,  ensure the manufacturer&#8217;s device drivers are installed and active. The default Microsoft drivers do not work correctly for debugging devices using TRK. For example, if using IBM Integrated Bluetooth on your computer, make sure you have the IBM drivers for the device. </li>
cawthron
parents:
diff changeset
   104
    <li>Ensure the COM port used by Bluetooth is not commandeered by another process or device</li>
cawthron
parents:
diff changeset
   105
  </ul>
cawthron
parents:
diff changeset
   106
</blockquote>
cawthron
parents:
diff changeset
   107
 <p>&nbsp;</p>
cawthron
parents:
diff changeset
   108
 <div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
cawthron
parents:
diff changeset
   109
cawthron
parents:
diff changeset
   110
cawthron
parents:
diff changeset
   111
</body>
cawthron
parents:
diff changeset
   112
</html>