Symbian3/SDK/Source/GUID-0E3E2FAD-FC85-5995-8B5C-8F1C1A4186D0.dita
changeset 13 48780e181b38
parent 12 80ef3a206772
child 14 578be2adaf3e
--- a/Symbian3/SDK/Source/GUID-0E3E2FAD-FC85-5995-8B5C-8F1C1A4186D0.dita	Fri Jul 16 17:23:46 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"Eclipse Public License v1.0" which accompanies this distribution, 
-and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
-<!-- Initial Contributors:
-    Nokia Corporation - initial contribution.
-Contributors: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-0E3E2FAD-FC85-5995-8B5C-8F1C1A4186D0"><title>Troubleshooting Tips for RVCT v3.1</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section is intended to help you troubleshoot the errors that may occur after migrating to RealView Compilation Tools (RVCT) v3.1. It provides a list of common problems that you may face while building your component using RVCT v3.1, with possible causes and ways to troubleshoot the problems. </p> <table id="GUID-0909177E-FB3B-592E-9225-88056198100B"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Problem</entry> <entry>Possible cause</entry> <entry>Possible solution</entry> </row> </thead> <tbody><row><entry><p>Error: L6410W: Symbol &lt;<varname>symbol_name</varname> &gt; with non <codeph>STV_DEFAULT</codeph> visibility <codeph>STV_HIDDEN</codeph> should be resolved statically, cannot use definition in &lt;<varname>dso_file_name</varname> &gt; </p> </entry> <entry><p>The linker is aware that the symbol (function) is present in another DLL, but in at least one of the source files of your component the symbol (function) has been declared without the <codeph>IMPORT_C</codeph> modifier. </p> </entry> <entry><p>Identify such source files and prefix the symbol declaration with the <codeph>IMPORT_C</codeph> modifier. </p> </entry> </row> <row><entry><p>elf2e32 : Error: E1036: Symbol &lt;<varname>symbol_name</varname> &gt; Missing from ELF file: &lt;<varname>file_name</varname> &gt; </p> </entry> <entry><p>The symbol (function) is present in the generated ELF DLL, but it is not visible externally. This is because the symbol (function) definition is not annotated with <codeph>EXPORT_C</codeph>, or when callers within the DLL does not prefix the function declaration with the <codeph>IMPORT_C</codeph> modifier. </p> </entry> <entry><p>Identify such symbol definitions and annotate them with the <codeph>EXPORT_C</codeph> modifier. Prefix the function declaration with the <codeph>IMPORT_C</codeph> modifier if you are trying to call a function in another DLL. </p> </entry> </row> </tbody> </tgroup> </table> <p>If you are unable to troubleshoot the problems listed in this table, perform the following steps: </p> <ol id="GUID-B672622E-1D57-50F9-A96D-CAFCC3187867"><li id="GUID-6F7500C5-4C34-5BD9-B11E-238E4213CDA6"><p>Browse to the directory where the object files of your component are stored. </p> </li> <li id="GUID-5C71DFDF-E76C-5098-AAE4-D33E9C668399"><p>Create a dump of the symbol table for each object file using the command, <codeph>fromelf -s &lt;object_filename&gt;</codeph> and locate the problematic function. If the function does not have the <codeph>STV_DEFAULT</codeph> visibility, then you have found the cause, or at least have identified the source file that is causing the problem. </p> </li> <li id="GUID-4C3C0F3B-D190-57F7-9F4D-2DC238E62F26"><p>If you are still unable to identify the cause of the problem, check the pre-processed source file to find out the cause. Perform the following steps to pre-process the source file: </p> <ol id="GUID-8063B78C-824E-5AF1-A431-EF04FD4CEDC0"><li id="GUID-58C05FC4-F81B-5317-9E8F-C78A86A10197"><p>Identify the <codeph>armcc</codeph> command (copy from the log file) that compiled the object. </p> </li> <li id="GUID-CD8F60F9-A0DE-5AA5-99C6-F7C10FE63D31"><p>Run the command after replacing <codeph>-c</codeph> with <codeph>-E</codeph> and specifying the output file as an argument to the -o option. </p> </li> <li id="GUID-8C26FD2C-776A-5493-AC43-5AFF9D16EBE2"><p>Check whether the function has been annotated with <codeph>__declspec(dllimport)</codeph>, which is the expansion of <codeph>IMPORT_C</codeph>. </p> <p> <b>Note:</b> If the function declaration is incorrect in more than one place, then repeat this whole procedure until all instances are identified. </p> </li> </ol> </li> </ol> </conbody><related-links><link href="GUID-1BA6BC6E-0B77-5B8A-AEF6-9E5DBAB36254.dita"><linktext>Overview of the
-                native build targets</linktext> </link> </related-links></concept>
\ No newline at end of file