Hi,
looks like stupid question, but how can I freeze dll exports? Was anybody succeeded doing this?
Regards,
Petr Mazanec
Hi,
looks like stupid question, but how can I freeze dll exports? Was anybody succeeded doing this?
Regards,
Petr Mazanec
You will need Developer edition to do it from the IDE. Project > Freeze Exports.
Tim
hi,
i don't know much of carbide c++ but conventionally try the previous methods from command prompt..from where ur bld.inf resides
I never tried carbide much and let me know if i'm wrong.bldmake bldfiles
abld freeze
abld build winscw/wins udeb
abld freeze
Thanks and Regards,
Mateen Maldar M
"Whatever the mind can conceive and believe, the mind can achieve"
Hi,
many thanks for reply, but if it will be so easy as clicking on menu I will not ask)) Please spend a minute to read what I exactly done:
1/ I have couple of dlls in one workspace and each time I build them for emulator I have MAKEDEF warining that 160 exports are not frozen.
2/ I looked into project build subdiretory "S60 3.1 Emulator Debug [S60_3rd_FP1_2]" and suprisingly I found automaticaly cretaed .def files here!!! It starts to be quite confising for me...
3/ Then I tried wizard "Project>Freeze Exports". Unfortunatelly in the very first screen there was an error "Can't find DEF file in project. DEF files must be defined as a resource within the project and have a '.def' extension." Wow!!! But there are .def files, which I saw in subdirectory "S60 3.1 Emulator Debug [S60_3rd_FP1_2]".
4/ I looked into Carbide.c++ help file and there was written "A .def file must be included in the project target to export a project. The IDE will not create one if it is missing." Total mess!
5/ I manually created subdirectory BWINS in project folder and I put empty .def file here. I add it to the project tree in "Navigation pane" and then I build the project. Another surprise - during build IDE inspected the project directory and now I had in navigation pane in project tree displayed 2!! empty def files I previously manually created. I deleted the one I add here,leaving here the one, which was automatically recognized by IDE
6/ I do the same with EABI subdirectory.
6/ I went back to the wizard "Project>Freeze Exports". Now it was possible to freeze the exports. But even if I selected device GCCE configuration only name for .def file from WINS subdirectory was displayed - and I need two files for different targetes as the .def file syntax differs!!! I don't understand it at all at this point. Anyway I click on "Finish" button waiting what happen.
7/ It take some time and when I looked back to the project folder my manually created files were still empty and the automatically cretated .def files in " S60 3.1 Emulator Debug [S60_3rd_FP1_2]" were untouched.
I don't know if you was able to track the whole story I wrote here - I'm perosnally totally confused.
Maybe I didn't understand something - and maybe Nokia support will give me a help... They said me on Symbian Smartphone Show face to face that they're regularly reading our feedbacks on Carbide.c++))
Good old times when "abld freeze" worked((
Regards,
STeN
Hi STen -
I don't totally follow what you are doing. But how about starting with something simple. Create a Symbian OS DLL Template wizard project.
When you do this you will notice that there are .def files created for different targets. DEF files for a particular project/configuration are picked up if they are under the project tree and are NOT excluded from build. Since you should only have one .def file per build configuration, other def files should be excluded. To see which file are included/excluded right click on a file choose Properties > C/C++ Build > Exclude from Build (checkbox).
Try to freeze any target from the DLL template project.
Hopefully this works and you can see a simplification for how freezing works.
Tim
I have seen this problem too.
If you import from an MMP that does not specify the DEFFILE, then you cannot freeze... and there appears to be no way to fix the carbide project to enable freezing.
In my case the MMP came with example code from the Symbian website. [t-testc.mmp from the transient server example].
Trying to use "Freeze Exports" function gives the message "Can't find DEF file in project. DEF files must be defined as a resource within the project and have a '.def' extension."
You can no longer add a DEFFILE line to the MMP file because the MMP is now generated by Carbide based on the Project.
There does not same to be a place in project properties dialogs to specify the DEFFILE.
-----
The WORKAROUND described by the previous poster works well. While it's a pain to have to recreate the project, it actually only took a few minutes to do.
1. File->New->Symbian OS C++ Project
2. copy header files and .cpp files using drag'n'drop and holding SHIFT for copy.
3. Fix up project properties: include paths, libraries, ...
4. Build
5. Freeze
6. Update Symbian MMP File