Alaska Software Inc. - Link errors with VX
Username: Password:
AuthorTopic: Link errors with VX
Andreas Herdt Link errors with VX
on Tue, 30 Dec 2003 11:53:48 +0100
Just created PDR 5334:
http://www.alaska-software.com/cgi-bin/waa1gate.exe?WAA_PACKAGE=PUBLICDTS&WAA_FORM=DISPLAYPDR&PDRID=5334

Several people have reported link problems when building the target.
This is due to an issue of pbuild that is described in the PDR 5334.

We recommend to set an object directory for projects that have source 
files in other directories then the directory where the project file is.


Regards
   Andreas Herdt
   [Alaska Research & Development]
Claudio Driussi Re: Link errors with VX
on Tue, 30 Dec 2003 15:44:12 +0100
Andreas Herdt wrote:

> Several people have reported link problems when building the target.
> This is due to an issue of pbuild that is described in the PDR 5334.
> 
> We recommend to set an object directory for projects that have source 
> files in other directories then the directory where the project file is.

My problem is a little bit different.

I would like to have 2 targets, one for application and one for
dll, the dll source files and output files are on the parent dir
of application.

If i write this target:

[..\mydll.dll]
     ..\myFile1.prg
     ..\myFile2.prg
     ..\myFile3.prg
...

VX2.0 delete all source files added to target.

My suggest is to add the directive OUT_DIR = .. to the pbuild
script.

Best regards
Claudio Driussi
Andreas Herdt Re: Link errors with VX
on Tue, 30 Dec 2003 23:30:04 +0100
Hi Claudio,

Please be very precise here (best would be a sample).
I am not aware that there is any code anywhere in
VX or Pbuild that can delete a source file
(prg, arc, ch)!!
How exactly does the project file look like?
What are you doing that destroys the sources?

We allready have following on our todo for pbuild:
OBJ_DIR      (for debug and nondebug)
TARGET_DIR   (for debug and nondebug [exe, dll, lib, exp])
PRE_ACTION   (for preparing the build process)
POST_ACTION  (for finishing the build process, eg. Deploy Target)
CLEAN_ACTION (for cleaning up things pbuild is not aware of)

Claudio Driussi wrote:

> Andreas Herdt wrote:
> 
>> Several people have reported link problems when building the target.
>> This is due to an issue of pbuild that is described in the PDR 5334.
>> 
>> We recommend to set an object directory for projects that have source
>> files in other directories then the directory where the project file is.
> 
> My problem is a little bit different.
> 
> I would like to have 2 targets, one for application and one for
> dll, the dll source files and output files are on the parent dir
> of application.
> 
> If i write this target:
> 
> [..\mydll.dll]
>      ..\myFile1.prg
>      ..\myFile2.prg
>      ..\myFile3.prg
> ...
> 
> VX2.0 delete all source files added to target.
> 
> My suggest is to add the directive OUT_DIR = .. to the pbuild
> script.
> 
> Best regards
> Claudio Driussi

Regards


Andreas Herdt


//////////////////////////////////////////////////////////////////
//
// Alaska Research & Development
// Homepage: www.alaska-research.com
// Newsgroup: nntp://news.alaska-Software.net
//
//////////////////////////////////////////////////////////////////
Claudio Driussi Re: Link errors with VX
on Wed, 31 Dec 2003 09:56:28 +0100
Andreas Herdt wrote:

> Please be very precise here (best would be a sample).
> I am not aware that there is any code anywhere in
> VX or Pbuild that can delete a source file
> (prg, arc, ch)!!

Right. I didn't explain well.
The files are not deleted, only the references within
the XPJ project, and this is done by VX.

I attach a sample. Try Ctrl+Shift+F11 and change the
target name from CS.DLL to ..\CS.DLL then close the
project and reopen it, all references in the CS.DLL
are lost but AGCVX.XPG is still valid, this mean that
the error is when VX read the project.

> We allready have following on our todo for pbuild:
> OBJ_DIR      (for debug and nondebug)
> TARGET_DIR   (for debug and nondebug [exe, dll, lib, exp])

Excellent, this is what i need (i think).
I have yust tried, it works fine, the dll was moved where i need
but DEF, EXP and LIB files are still on the same dir, how i can
move them?

Best regards.
Claudio Driussi


AGCVX.XPJ
Andreas Herdt Re: Link errors with VX
on Wed, 31 Dec 2003 12:53:00 +0100
Claudio Driussi wrote:

> Andreas Herdt wrote:
> 
>> Please be very precise here (best would be a sample).
>> I am not aware that there is any code anywhere in
>> VX or Pbuild that can delete a source file
>> (prg, arc, ch)!!
> 
> 
> Right. I didn't explain well.
> The files are not deleted, only the references within
> the XPJ project, and this is done by VX.

Got it, I think.
This is something that requires deeper investigation
to see what's going on here.
However, this is a defect (a serious one) and
will have been resolved in near future.

> I attach a sample. Try Ctrl+Shift+F11 and change the
> target name from CS.DLL to ..\CS.DLL then close the
> project and reopen it, all references in the CS.DLL
> are lost but AGCVX.XPG is still valid, this mean that
> the error is when VX read the project.
> 
>> We allready have following on our todo for pbuild:
>> OBJ_DIR      (for debug and nondebug)
>> TARGET_DIR   (for debug and nondebug [exe, dll, lib, exp])
> 
> 
> Excellent, this is what i need (i think).
> I have yust tried, it works fine, the dll was moved where i need
> but DEF, EXP and LIB files are still on the same dir, how i can
> move them?

TARGET_DIR feature is not available, yet. Pbuild can do this but
VX is unable to run the target then.

In the meantime you can use POST_ACTION to invoke a makefile or
batch file that is doing the deployment.

> 
> Best regards.
> Claudio Driussi
>