|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 80
|
[Visual c++] Problema con il linker
Salve
Sto creando una applicazione WIN32 e ho realizzato la seguente libreria di funzioni, con la seguente dichiarazione: Codice:
#pragma once
//-------------------------------------------------------------------
namespace DLibrary{// Start namespace
//-------------------------------------------------------------------
const float GetPointDistance(const float x0,
const float y0,
const float x1,
const float y1);
//-------------------------------------------------------------------
} // End namespace
//-------------------------------------------------------------------
Codice:
//-------------------------------------------------------------------
// Include
#include "StdAfx.h"
#include "DLibrary.h"
#include <math.h>
//-------------------------------------------------------------------
using namespace DLibrary;
//-------------------------------------------------------------------
const float GetPointDistance(const float x0,
const float y0,
const float x1,
const float y1)
{
float Distance;
Distance=sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));
return Distance;
}
//-------------------------------------------------------------------
Codice:
1>DShoot.obj : error LNK2028: al token non risolto (0A000008) "float const __clrcall DLibrary::GetPointDistance(float,float,float,float)" (?GetPointDistance@DLibrary@@$$FYM?BMMMMM@Z) si fa riferimento nella funzione "public: float const __clrcall Project_Amaltea::DShoot::GetMissDistance(enum Project_Amaltea::DTargetType)" (?GetMissDistance@DShoot@Project_Amaltea@@$$FQAM?BMW4DTargetType@2@@Z) 1>DShoot.obj : error LNK2019: riferimento al simbolo esterno "float const __clrcall DLibrary::GetPointDistance(float,float,float,float)" (?GetPointDistance@DLibrary@@$$FYM?BMMMMM@Z) non risolto nella funzione "public: float const __clrcall Project_Amaltea::DShoot::GetMissDistance(enum Project_Amaltea::DTargetType)" (?GetMissDistance@DShoot@Project_Amaltea@@$$FQAM?BMW4DTargetType@2@@Z) Come posso risolvere il problema? Grazie ADL |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 80
|
Ho risolto eliminando il namespace e indicando la dichiarazione della funzione come extern
Codice:
#pragma once //------------------------------------------------------------------- extern const float GetPointDistance(const float x0,const float y0,const float x1,const float y1); //------------------------------------------------------------------- ADL |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:07.



















