You Are Here:

Community: Wiki

This page was last modified on 6 September 2009, at 19:48.

Uses of DEF File

From Forum Nokia Wiki

Reviewer Approved   

Each DLL project with FREEZE enabled is associated with a def file that defines where the abld freeze writes to. The build then uses this def file in the following situations:


Contents

Linking the DLL

When the DLL is built, the project’s frozen def file is consulted. The linker will ensure that all functions specified in the def file will remain at the same specified ordinal position ensuring backward compatibility with the import library produced after the last freeze. New functions in the DLL will receive new, higher-numbered ordinals (which will be added to the def on the next freeze).


Generating the import library

With interface freezing enabled, the import library is directly generated using the DLL interface defined in the project’s def file. While interface freezing is disabled, the import library is always generated using the interface from the just-generated DLL. This is why the first build of a DLL will fail to generate an import library if an abld freeze command was not done – no def file yet exists.


Associating a def file with your project

The name of the def file associated with your project defaults to <your_projectname>U.DEF and is located in your project’s BARM (for ARM build targets) or BWINS (for emulator build targets) directory. U stands for Unicode build in your BARM directory. You can specify a new name and location for this file by using the DEFNAME statement in the DLL’s mmp file. Also, nostrictdef can be added to the mmp file to cause the U not to be added to the def file name.


Important

There is an additional def file that is generated on each DLL build, and this should not be confused with the def file discussed above. This file is an intermediate file, located in the project’s epoc32/build directory, and always reflects the current interface of the DLL. When interface freezing is disabled (EXPORTUNFROZEN in your mmp) the import library is generated from this intermediate def file.

Related Wiki Articles

No related wiki articles found

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fTalkE3aE4cargeE5fscreenE5fsaverX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqfntypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZtypeQUqfntypeZWikiContentQ qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqfntypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ