×
Namespaces

Variants
Actions

Static library dependencies missed on S60 3rd Ed and 3rd Ed FP1 SDKs

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Code ExampleArticle
Created: mgroeber9110 (19 Jan 2011)
Last edited: hamishwillee (26 Jul 2012)
KB Developer.gif
ID Unofficial - No ID assigned Creation date January 19, 2010
Platform S60 3rd Edition MR, 3rd Edition FP1 Devices All (3rd Edition)
Category Symbian C++ Subcategory Tools & SDKs

Overview

My EXE incorporates a LIB rather than linking to a DLL. When I modify the static library, the EXE is not rebuilt with the changes, and there is no warning of this. Why does this happen?

Description

This is due to a defect in the build toolchain in Symbian OS v9.1, such that .lib files included via the STATICLIBRARY keyword in an MMP file are not treated as dependencies. The defect was fixed in Symbian OS v9.2.

The result is that if parts of your code (for reasons of history, capability use, piracy protection etc.) are built into a .LIB rather than .DLL modules, any changes there may not cause the .exe files that use them to be rebuilt. This can be very frustrating when you test your EXE and your changes do not appear to work.

[Note that this issues was originally documented in the Symbian SDN Knowledge Base under ID 1485. The entry is archived here so it doesn't get lost, as the patch is currently not available anywhere else.]

Solution

The defect was fixed after some Symbian OS v9.2-based manufacturer SDKs were already released. The following files can be copied to /epoc32/tools/ on the relevant SDKs to fix this problem. Note that you use the patches at your own risk; while the defect fix looks valid, they haven't had the same level of testing as a full SDK.

Replace the file cl_bpabi.pm in the $(EPOCROOT)\epoc32\tools folder of the SDK with the version from File:S60 3rd static lib fix.zip.

This page was last modified on 26 July 2012, at 04:13.
32 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×