1. No rule to make target '.. \ GFX \ qgn_menu _. SVG', needed
It is generally caused by changes in the path of the SVG file ~
Open the. mk file and modify icondir = .. \ data \ GFX!
2. encountered folder inclusion and other issues, all modified in the Matrix
========================================================== ================================
In this article, we will continue to collect the Problems and Solutions encountered during Symbian development using carbide C ++, hoping to help you.
1. the invalid project description. overlaps the location of another project error occurs when the carbide C ++ imports the project.
Solution: this problem usually occurs because the name of the entire project folder is different from that of the project. You can modify the folder and click OK!
2. An error occurred while updating the RSC file. My prompt is "failed to update file \ Symbian \ 9.1 \ s60_3rd_mr \ epoc32 \ release \ winscw \ udeb \ Z \ resource \ apps \ hh_0xec5f17fd.rsc ".
Solution: this problem is caused by the absence of the simulator. It is okay to turn it off and compile again.
3. undefined symbol error. The following error is returned: Undefined Symbol: 'void ceikscrollbarframe: Unknown (Enum ceikscrollbarframe: tscrollbarvisibility, Enum ceikscrollbarframe: tscrollbarvisibility )(? Setscrollbarvisibilityl @ ceikscrollbarframe @ qaexw4tscrollbarvisibility @ 1 @ 0 @ Z )'
Solution: Most of the reasons for this are the lack of header files or libraries.
4. For multiple definitions, the following error is returned: multiply defined Symbol: Class tuid kexplorerviewid (? Kexplorerviewid @ 3vtuid @ A) in. Here, the view header file defines the view ID in multiple views, because the const qualifier is not added before the definition.
Solution: Add Const.
5. There are still multiple definitions. The following error is reported: multiply defined section: void cpathparser: initializedrives (void )(? Initializedrives @ cpathparser @ aaexxz) in, which is caused by the inclusion of duplicate source files in the matrix service file.
Solution: Go to the MPs file and modify it correctly.
========================================================== ======================================
F environment: s60 3rd edition SDK
Carbide. c ++ V2.0 reference: Chapter 7 Mobile Phone development and application practices based on Symbian OS. (This book ......, One of the following questions cannot be found in the book ~~~)
Create a GUI application.
Q1: The created GUI application includes class application, document, UI, and view. Class container is not mentioned in the book.A: Because the SDK version is different, the view here is derived from the control base class ccoecontrol, which is actually the container of the previous SDK version. Different from the view derived from class caknview in multi-view architecture.
Add label
Q2. After adding the label control, compile error: Undefined Symbol: 'ceiklabel: ceiklabel (void )(?? 0ceiklabel @ Qae @ xz )'A: To use the control, add library eikcoctl. lib to The. MMP file.
Q3. After compilation is successful, the control is not displayed when the program is run.A: To use controls, you must overload the countcomponentcontrols () and componentcontrol () functions in Class View ().
Add the editor control to the resource file. define the resource Edwin r_aknexeditor_operatecontainer_edwin of the Edwin type in RSS, and construct the tresourceresourcereaderlc () of the control environment class ccoeenv in constructl () of the class view; then, use the constructfromresourcel () function of class ceikedwin to create an editing box through tresourcereader object.
Q4: Compilation error: Illegal use of incomplete struct/Union/class 'tresourcerupload'A: In Class appview. cpp # include <barsread. h> and add library bafl. lib to The. MMP file.
Q5. After Q4 is resolved, the compilation error: Undefined identifier 'r _ aknexeditor_operatecontainer_edwin 'appears'A: # include <***. RSG> must be included in Class appview. cpp.
Add ListBox.
Q6: the vertical scroll bar position of ListBox is not on the right of ListBox, but on the top right of the screen.A: Set the position of the scrollbar of ListBox separately. Add ceikscrollbar * vscrollbar = ilistbox-> scrollbarframe ()-> getscrollbarhandle (ceikscrollbar: evertical); vscrollbar-> setextent (limit, limit) to class appview. cpp );
Q7, krgbgreen, and so on?A: In carbide, CTRL + Left click to jump to the definition of this macro. However, you can customize the color of the object, as shown in the following # define krgbback T # 3d7bca reloads the offerkeyeventl () function to process key events.
Q8: After compilation, it runs on the simulator. The offerkeyeventl () function will not be run at all.A: Because the view object is not added to the control stack, the handlekeyeventl () in Appui is always executed no matter how many buttons are pressed (). in the class Appui. in constructl of CPP, addtostackl () is used to add the view object to the Control Stack, as follows: // create view object iappview = cstackappview: newl (clientrect (); addtostackl (iappview ); do not forget to removefromstack (iappview) in the Destructor; otherwise, the cone 44 Google: The cone 44 means ecoepaniccontrolnotremovedfromstack will be warned when you exit the program.
Q9, compilation error: failed to update file ***. RSC
Google: Usually this wowould happen if you don't exit the emulator before re-building the resource. basically emulator will keep the resource file open, so it can not be modified. (turn off the simulator) ore re-building the resource. basically emulator will keep the resource file open, so it can not be modified. (Just turn off the simulator)
Q10, the program exitsKern-exec 3 error
The reason is that the view pointer deletion operation is performed on the Appui destructor. After the view is added to the viewstack, you do not need to manually delete it. The system automatically deletes the file. Therefore, the code problem of removing the delete view in the UI destructor is solved.