LabVIEWForum.de - CIN Code als DLL

LabVIEWForum.de

Normale Version: CIN Code als DLL
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe versucht einen CIN Code als DLL MSVC++6.0 zu kompilieren und die DLL zu erstellen.
Kompilieren geht gut aber beim linken bekomme ich 2 Fehler.

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>#include "extcode.h"

/* Typedefs */
typedef struct {
long dimSize;
float A[1];
} TD1;
typedef TD1 **TD1Hdl;

_declspec (dllexport) long array_sum(TD1Hdl Array1, TD1Hdl Array2, TD1Hdl Array3);


_declspec (dllexport) long array_sum(TD1Hdl Array1, TD1Hdl Array2, TD1Hdl Array3)
{

int32 i, len = Min((*Array1)->dimSize, (*Array2)->dimSize);
MgErr err = NumericArrayResize(fD, 1, (UHandle*)&Array3, len);
if (!err)
{
float *s1 = (*Array1)->A, *s2 = (*Array2)->A, *t = (*Array3)->A;
for (i = 0; i < len; i++)
t[i] = s1[i] + s2[i];
(*Array3)->dimSize = len;
}
return err;

}
</div>

Die Linkerfehlermeldung lautet:
Bibliothek Debug/MyDLL.lib und Objekt Debug/MyDLL.exp wird erstellt
myshared.obj : error LNK2001: Nichtaufgeloestes externes Symbol _NumericArrayResize
myshared.obj : error LNK2001: Nichtaufgeloestes externes Symbol _Min
Debug/MyDLL.dll : fatal error LNK1120: 2 unaufgeloeste externe Verweise


Was fehlt da beim linken?
Wie kann ichs beheben?

Gruss
Peter
' schrieb:Hallo,

ich habe versucht einen CIN Code als DLL MSVC++6.0 zu kompilieren und die DLL zu erstellen.
Kompilieren geht gut aber beim linken bekomme ich 2 Fehler.

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>#include "extcode.h"

/* Typedefs */
typedef struct {
long dimSize;
float A[1];
} TD1;
typedef TD1 **TD1Hdl;

_declspec (dllexport) long array_sum(TD1Hdl Array1, TD1Hdl Array2, TD1Hdl Array3);
_declspec (dllexport) long array_sum(TD1Hdl Array1, TD1Hdl Array2, TD1Hdl Array3)
{

int32 i, len = Min((*Array1)->dimSize, (*Array2)->dimSize);
MgErr err = NumericArrayResize(fD, 1, (UHandle*)&Array3, len);
if (!err)
{
float *s1 = (*Array1)->A, *s2 = (*Array2)->A, *t = (*Array3)->A;
for (i = 0; i < len; i++)
t[i] = s1[i] + s2[i];
(*Array3)->dimSize = len;
}
return err;

}
</div>

Die Linkerfehlermeldung lautet:
Bibliothek Debug/MyDLL.lib und Objekt Debug/MyDLL.exp wird erstellt
myshared.obj : error LNK2001: Nichtaufgeloestes externes Symbol _NumericArrayResize
myshared.obj : error LNK2001: Nichtaufgeloestes externes Symbol _Min
Debug/MyDLL.dll : fatal error LNK1120: 2 unaufgeloeste externe Verweise
Was fehlt da beim linken?
Wie kann ichs beheben?

Gruss
Peter

LabVIEW.lib aus dem cintrools Directory Deiner LabVIEW Installation. Füge LabVIEW.lib ganz einfach als extra Library in the Link Optionen in Deinem Projekt und füge das cintools Directory als extra Library Files Directory in Deine MSDEV Optionen.

Rolf Kalbermatter
' schrieb:LabVIEW.lib aus dem cintrools Directory Deiner LabVIEW Installation. Füge LabVIEW.lib ganz einfach als extra Library in the Link Optionen in Deinem Projekt und füge das cintools Directory als extra Library Files Directory in Deine MSDEV Optionen.

Rolf Kalbermatter


Danke, es funktioniert jetzt Big Grin
Referenz-URLs