LabVIEWForum.de
CIN Code als DLL - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: CIN Code als DLL (/Thread-CIN-Code-als-DLL)



CIN Code als DLL - pgl_bear - 23.02.2009 11:02

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


CIN Code als DLL - rolfk - 24.02.2009 07:48

' 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


CIN Code als DLL - pgl_bear - 10.03.2009 16:51

' 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