Ciao,
ovviamente artkSetup era scritto sagliato perchè ho scritto il codice solo per il forum.
Ho fatto la seguente prova:
in myAR.cpp c'è solamente
codice:
#include "myAR.h"
ho provato a fare il cleen del progetto in quanto evidentemente il problema è che inserisce i simboli provenienti dalla libreria sia nel obj del mai che in quello di myAR. I simboli che definisco io non dannoerrori di redifinizione. infatti nella lista degli erori ho:
codice:
myAR.obj : error LNK2005: "public: __thiscall ARToolKitPlus::CameraImpl::CameraImpl(void)" (??0CameraImpl@ARToolKitPlus@@QAE@XZ) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual __thiscall ARToolKitPlus::CameraImpl::~CameraImpl(void)" (??1CameraImpl@ARToolKitPlus@@UAE@XZ) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual bool __thiscall ARToolKitPlus::CameraImpl::loadFromFile(char const *)" (?loadFromFile@CameraImpl@ARToolKitPlus@@UAE_NPBD@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual void __thiscall ARToolKitPlus::CameraImpl::observ2Ideal(float,float,float *,float *)" (?observ2Ideal@CameraImpl@ARToolKitPlus@@UAEXMMPAM0@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual void __thiscall ARToolKitPlus::CameraImpl::ideal2Observ(float,float,float *,float *)" (?ideal2Observ@CameraImpl@ARToolKitPlus@@UAEXMMPAM0@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual class ARToolKitPlus::Camera * __thiscall ARToolKitPlus::CameraImpl::clone(void)" (?clone@CameraImpl@ARToolKitPlus@@UAEPAVCamera@2@XZ) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual bool __thiscall ARToolKitPlus::CameraImpl::changeFrameSize(int,int)" (?changeFrameSize@CameraImpl@ARToolKitPlus@@UAE_NHH@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual void __thiscall ARToolKitPlus::CameraImpl::logSettings(class ARToolKitPlus::Logger *)" (?logSettings@CameraImpl@ARToolKitPlus@@UAEXPAVLogger@2@@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: __thiscall ARToolKitPlus::CameraAdvImpl::CameraAdvImpl(void)" (??0CameraAdvImpl@ARToolKitPlus@@QAE@XZ) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual __thiscall ARToolKitPlus::CameraAdvImpl::~CameraAdvImpl(void)" (??1CameraAdvImpl@ARToolKitPlus@@UAE@XZ) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual bool __thiscall ARToolKitPlus::CameraAdvImpl::loadFromFile(char const *)" (?loadFromFile@CameraAdvImpl@ARToolKitPlus@@UAE_NPBD@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual void __thiscall ARToolKitPlus::CameraAdvImpl::observ2Ideal(float,float,float *,float *)" (?observ2Ideal@CameraAdvImpl@ARToolKitPlus@@UAEXMMPAM0@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual void __thiscall ARToolKitPlus::CameraAdvImpl::ideal2Observ(float,float,float *,float *)" (?ideal2Observ@CameraAdvImpl@ARToolKitPlus@@UAEXMMPAM0@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual class ARToolKitPlus::Camera * __thiscall ARToolKitPlus::CameraAdvImpl::clone(void)" (?clone@CameraAdvImpl@ARToolKitPlus@@UAEPAVCamera@2@XZ) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual bool __thiscall ARToolKitPlus::CameraAdvImpl::changeFrameSize(int,int)" (?changeFrameSize@CameraAdvImpl@ARToolKitPlus@@UAE_NHH@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: virtual void __thiscall ARToolKitPlus::CameraAdvImpl::logSettings(class ARToolKitPlus::Logger *)" (?logSettings@CameraAdvImpl@ARToolKitPlus@@UAEXPAVLogger@2@@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: class ARToolKitPlus::Camera * __thiscall ARToolKitPlus::CameraFactory::createCamera(char const *)" (?createCamera@CameraFactory@ARToolKitPlus@@QAEPAVCamera@2@PBD@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: __thiscall ARToolKitPlus::BCH::BCH(void)" (??0BCH@ARToolKitPlus@@QAE@XZ) already defined in Main.obj
myAR.obj : error LNK2005: "protected: __thiscall ARToolKitPlus::BCH::BCH(int,int,int)" (??0BCH@ARToolKitPlus@@IAE@HHH@Z) already defined in Main.obj
myAR.obj : error LNK2005: "protected: void __thiscall ARToolKitPlus::BCH::initialize(int,int,int)" (?initialize@BCH@ARToolKitPlus@@IAEXHHH@Z) already defined in Main.obj
myAR.obj : error LNK2005: "protected: void __thiscall ARToolKitPlus::BCH::generate_gf(void)" (?generate_gf@BCH@ARToolKitPlus@@IAEXXZ) already defined in Main.obj
myAR.obj : error LNK2005: "protected: bool __thiscall ARToolKitPlus::BCH::gen_poly(int)" (?gen_poly@BCH@ARToolKitPlus@@IAE_NH@Z) already defined in Main.obj
myAR.obj : error LNK2005: "protected: void __thiscall ARToolKitPlus::BCH::encode_bch(int *,int const *)" (?encode_bch@BCH@ARToolKitPlus@@IAEXPAHPBH@Z) already defined in Main.obj
myAR.obj : error LNK2005: "protected: int __thiscall ARToolKitPlus::BCH::decode_bch(int *)" (?decode_bch@BCH@ARToolKitPlus@@IAEHPAH@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: void __thiscall ARToolKitPlus::BCH::encode(int * const,unsigned __int64)" (?encode@BCH@ARToolKitPlus@@QAEXQAH_K@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: bool __thiscall ARToolKitPlus::BCH::decode(int &,unsigned __int64 &,int const * const)" (?decode@BCH@ARToolKitPlus@@QAE_NAAHAA_KQBH@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: void __thiscall ARToolKitPlus::BCH::encode(unsigned __int64 &,unsigned __int64)" (?encode@BCH@ARToolKitPlus@@QAEXAA_K_K@Z) already defined in Main.obj
myAR.obj : error LNK2005: "public: bool __thiscall ARToolKitPlus::BCH::decode(int &,unsigned __int64 &,unsigned __int64)" (?decode@BCH@ARToolKitPlus@@QAE_NAAHAA_K_K@Z) already defined in Main.obj
tutta roba che viene da #include <ARToolKitPlus/TrackerMultiMarkerImpl.h> presente in myAR.h.
Quello che non capisco è: se ho messo #ifndef.... perchè mi vuole iserire due volte i simboli provenienti da una #include????