Symbian
Symbian OS Library

FAQ-0764 Why does my DLL project not generate a .lib file?

[Index][spacer] [Previous] [Next]



 

Classification: C++ Category: Utilities & Build Tools
Created: 01/15/2002 Modified: 01/17/2002
Number: FAQ-0764
Platform: Symbian OS v6.0, Symbian OS v6.1

Question:
I am able to build a DLL in my new project (or SDK example project) but whereas the build script creates a .lib file under %EPOCROOT%Epoc32\Build\..., it does not copy this over to \epoc32\release\wins\udeb with the.dll file, but rather deletes it. What must I do to generate a .lib file to link against?

Answer:
The .lib file will only be generated if
      a. exports are declared to be unfrozen, or
      b. a .def file is defined in the \Bwins folder in your project root folder.
      The first of these can be accomplished by including the line
        > EXPORTUNFROZEN
        in the project's .mmp file. This should only be done during initial development, if you are still not sure what API you want to export from your DLL.

        The second can be accomplished by performing a command line build for WINS, with
          > abld build wins udeb
          which allows the exported methods to be identified. You can then freeze the exports with
            > abld freeze wins
            which creates the .def file listing the exported methods. The next time the project is rebuilt it will be with the required .lib file.