Salve a tutti, spero qualcuno mi possa chiarire le idee
io ho il seguente codice:
codice:
#include <Windows.h>
#include <d:\lavoro\c++\opennurbs_20110202\opennurbs\opennurbs.h>
extern "C" __declspec(dllexport) ON_3dVector Vcreate( ON_3dPoint p0, ON_3dPoint p1, double len) {
double d = len / (p0.DistanceTo(p1));
double d = len / (p0.DistanceTo(p1));
ON_3dVector v = ON_3dVector::ON_3dVector ((p0.x - p1.x) * d, (p0.y - p1.y) * d, (p0.z - p1.z) * d);
return v;
}
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. */ ,
LPVOID reserved /* Not used. */ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
/* Returns TRUE on success, FALSE on failure */
return TRUE;
}
praticamente sto utilizzando visual c++ 2010 per generare una dll che contenga alcune funzioni che utilizzano le opernnurbs, il compilatore mi da alcuni errori tra cui questi:
warning C4190: 'Vcreate' è stato avviato al collegamento C, ma restituisce il tipo definito dall'utente 'ON_3dVector', che è incompatibile con il C
1> d:\lavoro\c++\opennurbs_20110202\opennurbs\opennur bs_point.h(931): vedere la dichiarazione di 'ON_3dVector'
qualcuno sa dirmi dove sbaglio? perdonate l'ignoranza, non ho mai programmato in c++ e purtroppo mi ci devo cimentare ed anche alla svelta perché dobbiamo riscrivere alcune funzioni abbastanza complicate scritte in c#... grazie in anticipo a chiunque mi aiuti.