×

Discussion Board

Results 1 to 8 of 8
  1. #1
    Registered User
    Join Date
    Aug 2008
    Posts
    37

    Building a static interface dll for gcce target

    HI,
    I am trying to create a static interface dll in symbian.
    Just wrote a class which exports an interface to print a
    string on console.
    I was able to do it successfully for an emulator build and
    could generate the .lib and .dll files.
    Also tried writing a sample code to use the dll and successfully
    linked the same and called the exported API.

    When I am trying to create the dll for a gcce build, I have issues.
    I made a gcce build and then did a export freeze and then
    regenerated the make file. When I am trying to use this
    in a client application it says it cannot find the lib files.

    Is the procedure any different for gcce target.
    Does it generate *.dso files instead of lib?

  2. #2
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,684

    Re: Building a static interface dll for gcce target

    GCCE generates a .dll (for deployment, in epoc32\release\gcce\urel), and a .dso (for linking, in epoc32\release\armv5\lib). But it should not need any extra configuration. Have you frozen the .dll after changing to GCCE build?
    As a reference you can check the example from the SDK: Examples\Basics\StaticDLL

  3. #3
    Registered User
    Join Date
    Aug 2008
    Posts
    37

    Re: Building a static interface dll for gcce target

    Quote Originally Posted by wizard_hu_ View Post
    GCCE generates a .dll (for deployment, in epoc32\release\gcce\urel), and a .dso (for linking, in epoc32\release\armv5\lib). But it should not need any extra configuration. Have you frozen the .dll after changing to GCCE build?
    As a reference you can check the example from the SDK: Examples\Basics\StaticDLL
    Hi wizard_hu!
    Thanks for the neat reply. I have been able to generate the .dll and .dso after freezing it and building again. The issue was that I was looking for a .lib file.
    I need another clarification--
    1. When I change the functionality of an already exported interface. Will just making another build help update the dll or do i need to freeze it, and then build again to regenerate the make files? And to update the make files..i have been deleting them and then make a build again. Without that, it does not seems to overwrite files..any suggestions?

    When I add a new interface i will anyways have to freeze to update the def files and make a build again though.

  4. #4
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,684

    Re: Building a static interface dll for gcce target

    Actually this is the rationale behind freezing: it provides a way to check against changing the interface. The build is going to fail, since compatibility would get broken with previous clients of your .dll.
    During development it is more comfortable to use EXPORTUNFROZEN keyword in the .mmp.

  5. #5
    Super Contributor
    Join Date
    Jul 2006
    Location
    Oulu, Finland.
    Posts
    1,174

    Re: Building a static interface dll for gcce target

    As said by Wizard_hu, if you are in a development phase, changes are expected to dll so there is no point to freeze that time, instead you should use EXPORTUNFROZEN, Once you have released your component, you freeze it and generate def files for appropriate targets, if after that you add some new functionality to your dll, you build it in normal way and freeze it again, your new exported methods will be appended at the end of def file without changing the previous ordinals, maintaining the binary compatibility.

  6. #6
    Registered User
    Join Date
    Aug 2008
    Posts
    37

    Re: Building a static interface dll for gcce target

    Ok..Thank U guys!
    I'll work with the EXPORTUNFROZEN in my .mmp file for the actual application developement.
    And freeze it only when I am done. Was just trying sample programs to create a dll..so ended up freezing in between!

  7. #7
    Registered User
    Join Date
    Sep 2013
    Posts
    1

    Re: Building a static interface dll for gcce target

    I create a dynamic dll named MI_DLL.dll which give me also MI_DLL.lib file for WINSCW emulator debuger configuretion. but when i m trying to creat creat it in phone release GCCE configuration it gives only MI_DLL.dll and MI_DLL.dso file. but the main problem is that, i need MI_DLL.lib file for phone release GCCE configuration. please help me

  8. #8
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,684

    Re: Building a static interface dll for gcce target

    Real way: the interface has to be "frozen", abld freeze gcce urel or something like that is the command for that, perhaps there is something in Carbide.c++ too
    Hacky way: if you specify EXPORTUNFROZEN directive in the .mmp file, the import .lib files will be generated in non-frozen state too.

Similar Threads

  1. GoogleIt
    By deepika.mangla in forum Symbian
    Replies: 5
    Last Post: 2011-05-28, 11:04
  2. Python for UIQ
    By cassioli in forum Symbian
    Replies: 141
    Last Post: 2008-06-11, 18:16
  3. SyExpat + problem + memmove + Carbide Express
    By pearman in forum Symbian
    Replies: 2
    Last Post: 2006-10-14, 22:21
  4. Linking Static DLL with another Static DLL
    By symbianfresher in forum Symbian
    Replies: 6
    Last Post: 2006-01-09, 04:23
  5. some problems with label
    By vivienzhung in forum Mobile Java General
    Replies: 1
    Last Post: 2002-10-21, 09:52

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×