|
|
Classification: |
General |
Category: |
Tools |
Created: |
08/19/2004 |
Modified: |
09/13/2004 |
Number: |
FAQ-1113 |
Platform: |
Not Applicable |
|
Question: Is there a recommended way to point to files in a pkg file ?
Answer: When you run the makesis command on a pkg file the current directory is used as the relative path from which you point to
any file. So you can package a file that exist locally in your source directory as follows:
"..\data\myfile.txt"-"c:\System\data\myfile.txt"
By default all binaries are built under the \Epoc32\Release\... directory branch when you compile and link your project.
As running the makesis command only gives you file visibility from the current directory, to avoid using any relative paths to system folders in
your pkg file, the recommended way to reference a file in the release directory is as follows:
"Epoc32\Release\thumb\urel\myapi.dll"-"c:\System\libs\myapi.dll" "Epoc32\Release\thumb\urel\myserver.exe"-"c:\System\programs\myserver\myserver.exe"
Now when you run the makesis command you will use the -d option:
makesis -d%EPOCROOT% myfiles.pkg
The -d option allows to set a search directory if the file is not found locally. The normal practice is to pass the directory
pointed by your EPOCROOT environment variable. You need to set your EPOCROOT for this to work. If you are using the devices.exe command to manage
your SDKs you can set EPOCROOT by using the path pointed by the 'Root is...' line when you run devices.exe with the -info option.
Unlike the above the line below uses a relative path to the system folder:
"..\..\Epoc32\Release\thumb\urel\myapi.dll"-"c:\System\libs\myapi.dll"
This line expects the EPOC32 directory to be present two levels up from the current directory. Using such a relative path
restricts the running of your pkg file to a particular directory position i.e. in relation to EPOC32.
|
|
|