Discussion Board

Results 1 to 8 of 8
  1. #1
    Super Contributor paipeng's Avatar
    Join Date
    Jun 2005
    Location
    Berlin
    Posts
    721
    hello,

    i have a problem by compiling a DLL in C.

    I have a C function. in mmp:
    Code:
    OPTION		CW -lang c++

    after compiling this DLL, there is a DLL file created in the directory:
    Epoc32\release\GCCE\UREL
    e.g.: test.dll & test.map

    But there is no dso file created in:
    \Epoc32\release\armv5\lib
    g.g.: test{000a00000}.dso & test.dso


    So, i tried again with command line:
    Code:
    abld build gcc urel
    these two dso files created automatically.


    Is this already a known issue for Carbide?
    Or the setting of Carbide is not correct?


    Thanks

    Pai
    Symbian && Android && iPhoneOS

  2. #2
    Super Contributor paipeng's Avatar
    Join Date
    Jun 2005
    Location
    Berlin
    Posts
    721
    and because there is no reply for this issue from Carbide C++ developers/nokia,

    I advice the people, who has the same problem, to compile the C DLL files with command line at first, after freezing, then can use Carbide C++ continue.

    e.g.:
    bldmake bldfiles
    abld build gcce urel
    abld freeze
    (abld clean)
    (Don't forget compiling this DLL again with Carbide C++!!)


    BTW: I am using OpenC for this issue.


    Regards

    Pai
    Symbian && Android && iPhoneOS

  3. #3
    Nokia Developer Moderator ltomuta's Avatar
    Join Date
    Sep 2004
    Location
    Tampere, Finland
    Posts
    11,335
    Dear Pai,

    it seems that thos post remaind unnoticed, sorry about that. Please note that Carbide.c++ has a bug report channel that can be accesse throug the "Report new bug ..." option from the Help menu. That is the best way for you to report any problem to Carbide.c++'s developers.

    And if all you want is a confirmation of your finding, or some help in solving your problem, then do use the "Carbide.c++ IDE and plug-ins" forum.

  4. #4
    Super Contributor paipeng's Avatar
    Join Date
    Jun 2005
    Location
    Berlin
    Posts
    721
    Thank you, ltomuta, for your notice on my problem.


    I just sent a bug-report through Carbide C++, althrough it is not easy also (Need an Account at first).


    Regards

    Pai
    Symbian && Android && iPhoneOS

  5. #5
    Registered User Sorcery-ltd's Avatar
    Join Date
    Dec 2006
    Posts
    2,280
    I didn't understand this bug report - I've compiled DLLs that were written in C. They compile just fine for GCCE in Carbide.c++ when you switch the active build configuration...

    I don't use:
    Code:
    OPTION CW -lang c++
    but note that this option is only for emulator builds. If there is some problem with building the C files as C code then you need to hack the SDK (GCCE.mk has the relevant setting hard-coded) which is definitely not recommended.

    Mark

  6. #6
    Super Contributor paipeng's Avatar
    Join Date
    Jun 2005
    Location
    Berlin
    Posts
    721
    Hi Mark,


    thanks for your info. It is just what I want to know, if the problem is caused by myself along or anyone got the same problem also.


    It should be something wrong with the compile-output/compile-configuration... I have tried with some tests. And now DLL-Compile works again with Carbide IDE.

    I still don't know, what exactly causes the problem, also maybe nobody is interesting on it.


    Regards

    Pai
    Symbian && Android && iPhoneOS

  7. #7
    Super Contributor paipeng's Avatar
    Join Date
    Jun 2005
    Location
    Berlin
    Posts
    721
    To all:

    updated:

    I solved this problem by inserting EXPORTUNFROZEN in DLL's mmp file.

    these two files are created by Carbide:
    \Epoc32\release\armv5\lib
    g.g.: test{000a00000}.dso & test.dso


    Regards

    Pai
    Symbian && Android && iPhoneOS

  8. #8
    Registered User Sorcery-ltd's Avatar
    Join Date
    Dec 2006
    Posts
    2,280
    Hi,

    Yes, for target builds you need to define which are the exported functions and in what order - you should have had some warning about a missing .def file and that the lib wouldn't be created when you attempted the build.

    For 3rd FP2 onwards you should be able to use the STDDLL target type which will export all functions by name - which is useful if you don't have the necessary EXPORT_C and IMPORT_C macros in legacy/ported code.

    Mark

Similar Threads

  1. Problem with DLL
    By fresher in forum Symbian C++
    Replies: 7
    Last Post: 2009-02-06, 07:23
  2. carbide 3.0.1 & vs2005 Linking problem
    By redzvika in forum Symbian Tools & SDKs
    Replies: 7
    Last Post: 2008-05-13, 07:26
  3. [Moved] Carbide ui 3.2 installation problem
    By fisch88@katamail.com in forum Themes/Carbide.ui
    Replies: 0
    Last Post: 2008-03-15, 18:29
  4. Carbide C++ 1.2 License Problem
    By meihao in forum Carbide.c++ IDE and plug-ins (Closed)
    Replies: 6
    Last Post: 2008-02-28, 21:20
  5. Problem compiling BIOexample & BIOcontrol
    By tianlye in forum Symbian C++
    Replies: 1
    Last Post: 2003-02-18, 18:31

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved