熟悉VC2008的朋友过来帮忙一下,先谢了!
太白山鹰 2010-05-05 09:14:46 我刚开始使用VC2008
现在运行一个项目程序,出现了一系列的链接错误,如下面:
Buffer.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Tools::IllegalArgumentException::IllegalArgumentException(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (??0IllegalArgumentException@Tools@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z),该符号在函数 "public: __thiscall SpatialIndex::StorageManager::Buffer::Buffer(class SpatialIndex::IStorageManager &,class Tools::PropertySet &)" (??0Buffer@StorageManager@SpatialIndex@@QAE@AAVIStorageManager@2@AAVPropertySet@Tools@@@Z) 中被引用
1>DiskStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall Tools::IllegalArgumentException::IllegalArgumentException(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (??0IllegalArgumentException@Tools@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>Buffer.obj : error LNK2019: 无法解析的外部符号 "public: class Tools::Variant __thiscall Tools::PropertySet::getProperty(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getProperty@PropertySet@Tools@@QAE?AVVariant@2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z),该符号在函数 "public: __thiscall SpatialIndex::StorageManager::Buffer::Buffer(class SpatialIndex::IStorageManager &,class Tools::PropertySet &)" (??0Buffer@StorageManager@SpatialIndex@@QAE@AAVIStorageManager@2@AAVPropertySet@Tools@@@Z) 中被引用
1>DiskStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: class Tools::Variant __thiscall Tools::PropertySet::getProperty(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getProperty@PropertySet@Tools@@QAE?AVVariant@2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>Buffer.obj : error LNK2001: 无法解析的外部符号 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Tools::IllegalArgumentException::what(void)" (?what@IllegalArgumentException@Tools@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>DiskStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Tools::IllegalArgumentException::what(void)" (?what@IllegalArgumentException@Tools@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>DiskStorageManager.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Tools::PropertySet::setProperty(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class Tools::Variant &)" (?setProperty@PropertySet@Tools@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAVVariant@2@@Z),该符号在函数 "class SpatialIndex::IStorageManager * __cdecl SpatialIndex::StorageManager::createNewDiskStorageManager(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,unsigned int)" (?createNewDiskStorageManager@StorageManager@SpatialIndex@@YAPAVIStorageManager@2@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z) 中被引用
1>RandomEvictionsBuffer.obj : error LNK2001: 无法解析的外部符号 "public: void __thiscall Tools::PropertySet::setProperty(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class Tools::Variant &)" (?setProperty@PropertySet@Tools@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAVVariant@2@@Z)
1>DiskStorageManager.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Tools::Variant::Variant(void)" (??0Variant@Tools@@QAE@XZ),该符号在函数 "class SpatialIndex::IStorageManager * __cdecl SpatialIndex::StorageManager::createNewDiskStorageManager(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,unsigned int)" (?createNewDiskStorageManager@StorageManager@SpatialIndex@@YAPAVIStorageManager@2@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z) 中被引用
1>RandomEvictionsBuffer.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall Tools::Variant::Variant(void)" (??0Variant@Tools@@QAE@XZ)
1>DiskStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual unsigned int __thiscall Tools::PropertySet::getByteArraySize(void)" (?getByteArraySize@PropertySet@Tools@@UAEIXZ)
1>MemoryStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual unsigned int __thiscall Tools::PropertySet::getByteArraySize(void)" (?getByteArraySize@PropertySet@Tools@@UAEIXZ)
1>RandomEvictionsBuffer.obj : error LNK2001: 无法解析的外部符号 "public: virtual unsigned int __thiscall Tools::PropertySet::getByteArraySize(void)" (?getByteArraySize@PropertySet@Tools@@UAEIXZ)
1>DiskStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall Tools::PropertySet::loadFromByteArray(unsigned char const *)" (?loadFromByteArray@PropertySet@Tools@@UAEXPBE@Z)
1>MemoryStorageManager.obj : error LNK2019: 无法解析的外部符号 "public: virtual void __thiscall Tools::PropertySet::loadFromByteArray(unsigned char const *)" (?loadFromByteArray@PropertySet@Tools@@UAEXPBE@Z),该符号在函数 "public: virtual __thiscall Tools::ISerializable::~ISerializable(void)" (??1ISerializable@Tools@@UAE@XZ) 中被引用
1>RandomEvictionsBuffer.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall Tools::PropertySet::loadFromByteArray(unsigned char const *)" (?loadFromByteArray@PropertySet@Tools@@UAEXPBE@Z)
1>DiskStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall Tools::PropertySet::storeToByteArray(unsigned char * *,unsigned int &)" (?storeToByteArray@PropertySet@Tools@@UAEXPAPAEAAI@Z)
1>MemoryStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall Tools::PropertySet::storeToByteArray(unsigned char * *,unsigned int &)" (?storeToByteArray@PropertySet@Tools@@UAEXPAPAEAAI@Z)
1>RandomEvictionsBuffer.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall Tools::PropertySet::storeToByteArray(unsigned char * *,unsigned int &)" (?storeToByteArray@PropertySet@Tools@@UAEXPAPAEAAI@Z)
1>DiskStorageManager.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Tools::IllegalStateException::IllegalStateException(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (??0IllegalStateException@Tools@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z),该符号在函数 "public: __thiscall SpatialIndex::StorageManager::DiskStorageManager::DiskStorageManager(class Tools::PropertySet &)" (??0DiskStorageManager@StorageManager@SpatialIndex@@QAE@AAVPropertySet@Tools@@@Z) 中被引用
1>DiskStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Tools::IllegalStateException::what(void)" (?what@IllegalStateException@Tools@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>DiskStorageManager.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Tools::InvalidPageException::InvalidPageException(unsigned int)" (??0InvalidPageException@Tools@@QAE@I@Z),该符号在函数 "public: virtual void __thiscall SpatialIndex::StorageManager::DiskStorageManager::loadByteArray(__int64,unsigned int &,unsigned char * *)" (?loadByteArray@DiskStorageManager@StorageManager@SpatialIndex@@UAEX_JAAIPAPAE@Z) 中被引用
1>MemoryStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall Tools::InvalidPageException::InvalidPageException(unsigned int)" (??0InvalidPageException@Tools@@QAE@I@Z)
1>DiskStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Tools::InvalidPageException::what(void)" (?what@InvalidPageException@Tools@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>MemoryStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Tools::InvalidPageException::what(void)" (?what@InvalidPageException@Tools@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>DiskStorageManager.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Tools::IndexOutOfBoundsException::IndexOutOfBoundsException(unsigned int)" (??0IndexOutOfBoundsException@Tools@@QAE@I@Z),该符号在函数 "public: virtual void __thiscall SpatialIndex::StorageManager::DiskStorageManager::storeByteArray(__int64 &,unsigned int,unsigned char const * const)" (?storeByteArray@DiskStorageManager@StorageManager@SpatialIndex@@UAEXAA_JIQBE@Z) 中被引用
1>DiskStorageManager.obj : error LNK2001: 无法解析的外部符号 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Tools::IndexOutOfBoundsException::what(void)" (?what@IndexOutOfBoundsException@Tools@@UAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>RandomEvictionsBuffer.obj : error LNK2019: 无法解析的外部符号 "void __cdecl srand48(long)" (?srand48@@YAXJ@Z),该符号在函数 "public: __thiscall SpatialIndex::StorageManager::RandomEvictionsBuffer::RandomEvictionsBuffer(class SpatialIndex::IStorageManager &,class Tools::PropertySet &)" (??0RandomEvictionsBuffer@StorageManager@SpatialIndex@@QAE@AAVIStorageManager@2@AAVPropertySet@Tools@@@Z) 中被引用
1>RandomEvictionsBuffer.obj : error LNK2019: 无法解析的外部符号 "double __cdecl drand48(void)" (?drand48@@YANXZ),该符号在函数 "public: virtual void __thiscall SpatialIndex::StorageManager::RandomEvictionsBuffer::removeEntry(void)" (?removeEntry@RandomEvictionsBuffer@StorageManager@SpatialIndex@@UAEXXZ) 中被引用
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
这里出现最多的是:error LINK2019:无法解析的外部符号 和 error LNK2001: 无法解析的外部符号 "public: virtual class
这两种错误是什么原因导致的??
怎么解决啊,望大侠帮一下忙!!!!@
谢谢!!!!!!!!!