Page 1 of 1

Creating custom routine on Windows Version

Posted: Wed Oct 26, 2005 7:19 am
by seanc217
I am trying to get a dll I created to work in DataStage. I have created the dll and even called it from a program in VB, everything works as expected. I then try to use the operator in a transformer and get the following message:

External Routine library hex.dll is invalid. If I try the object, I get the following:

##I TBLD 000000 09:21:49(008) <main_program> Error when checking composite operator: Output from subprocess: V0S34_test_job_Transformer_34.tmp.o : error LNK2019: unresolved external symbol "char * __cdecl HexStr(__int64)" (?HexStr@@YAPAD_J@Z) referenced in function "protected: virtual void __thiscall APT_TransformOperatorImplV0S34_test_job_Transformer_34::processInputRecord(int)" (?processInputRecord@APT_TransformOperatorImplV0S34_test_job_Transformer_34@@MAEXH@Z)
C:\Ascential\DataStage\Projects\CommerceTestProj\RT_BP56.O\V0S34_test_job_Transformer_34.dll : fatal error LNK1120: 1 unresolved externals

If anyone has an example of how to setup this dll or libabray in Windows it would be much appreciated.

Thanks

Posted: Wed Oct 26, 2005 3:50 pm
by ray.wurlod
You need first to import the external function definition, using the Manager client.

Posted: Thu Oct 27, 2005 5:31 am
by Eric
unresolved external symbol "char *"
What arguments and return types have you configured within the parallel routine definition? - Do these match with the return types definied within the DLL?

Posted: Thu Nov 03, 2005 10:35 am
by seanc217
I have been able to create and use a static library in Windows with no issues. I have not been able to use a shared library though.