Неопределенный символ при компиляции инструмента закрепления в Visual Studio 2022C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Неопределенный символ при компиляции инструмента закрепления в Visual Studio 2022

Сообщение Anonymous »

I'm trying to compile this github repo:
https://github.com/wirepair/IDAPinLogger
in Pin 4.0 - https://software.intel.com/sites/landin ... indows.zip
but it there is only clang version of pin 4.0 and i get the following errors when trying to build it. Is it possible this undefined symbols to be fixed? Is there a library .lib that contains this symbols that i can add in the Linker->Input->Aditional Dependencies? Or it is not possible to be compiled in clang-cl?

1>------ Build started: Project: IDAPinLogger, Configuration: Release x64 ------
1>lld-link : warning : pin.lib(pin_client.cpp.obj): locally defined symbol imported: bool __cdecl std::uncaught_exception(void) (defined in libcpmt.lib(uncaught_exception.obj)) [LNK4217]
1>lld-link : warning : pin.lib(util.cpp.obj): locally defined symbol imported: bool __cdecl std::uncaught_exception(void) (defined in libcpmt.lib(uncaught_exception.obj)) [LNK4217]
1>lld-link : warning : pin.lib(opin_client.cpp.obj): locally defined symbol imported: bool __cdecl std::uncaught_exception(void) (defined in libcpmt.lib(uncaught_exception.obj)) [LNK4217]
1>lld-link : warning : pin.lib(ins_xed_ia32.cpp.obj): locally defined symbol imported: bool __cdecl std::uncaught_exception(void) (defined in libcpmt.lib(uncaught_exception.obj)) [LNK4217]
1>lld-link : warning : pin.lib(elf_parser.cpp.obj): locally defined symbol imported: bool __cdecl std::uncaught_exception(void) (defined in libcpmt.lib(uncaught_exception.obj)) [LNK4217]
1>lld-link : warning : pin.lib(pin_jit_itt.cpp.obj): locally defined symbol imported: bool __cdecl std::uncaught_exception(void) (defined in libcpmt.lib(uncaught_exception.obj)) [LNK4217]
1>lld-link : error : undefined symbol: public: static class std::basic_string __cdecl LEVEL_BASE::KNOB_BASE::StringKnobSummary(void)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(int __cdecl Usage(void))
1>
1>lld-link : error : undefined symbol: class std::basic_string const & __cdecl LEVEL_PINCLIENT::IMG_Name(class LEVEL_CORE::INDEX)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(void __cdecl ImageLoad(class LEVEL_CORE::INDEX, void *))
1>>>> referenced by x64\Release\IDAPinLogger.obj:(void __cdecl ImageLoad(class LEVEL_CORE::INDEX, void *))
1>>>> referenced by x64\Release\IDAPinLogger.obj:(void __cdecl ImageLoad(class LEVEL_CORE::INDEX, void *))
1>>>> referenced 1 more times
1>
1>lld-link : error : undefined symbol: public: static class std::basic_string const __cdecl LEVEL_BASE::KNOBVALUE::Type(void)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(public: virtual class std::basic_string const __cdecl LEVEL_BASE::KNOB::Type(void))
1>
1>lld-link : error : undefined symbol: public: void __cdecl LEVEL_BASE::MESSAGE_TYPE::MessageNoReturn(class std::basic_string const &, bool, enum PIN_ERRTYPE, int, ...)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(public: virtual bool __cdecl LEVEL_BASE::KNOB::AddValue(class std::basic_string const &))
1>>>> referenced by x64\Release\IDAPinLogger.obj:(public: virtual bool __cdecl LEVEL_BASE::KNOB::AddValue(class std::basic_string const &))
1>>>> referenced by x64\Release\IDAPinLogger.obj:(private: class LEVEL_BASE::KNOBVALUE const * __cdecl LEVEL_BASE::KNOBVALUE_LIST::GetNode(unsigned int) const)
1>>>> referenced 1 more times
1>
1>lld-link : error : undefined symbol: class std::basic_string __cdecl LEVEL_BASE::AssertString(char const *, char const *, unsigned int, class std::basic_string const &)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(public: virtual bool __cdecl LEVEL_BASE::KNOB::AddValue(class std::basic_string const &))
1>>>> referenced by x64\Release\IDAPinLogger.obj:(private: class LEVEL_BASE::KNOBVALUE const * __cdecl LEVEL_BASE::KNOBVALUE_LIST::GetNode(unsigned int) const)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(public: void __cdecl LEVEL_BASE::KNOBVALUE_LIST::Append(class std::basic_string const &))
1>
1>lld-link : error : undefined symbol: OS_Abort_with_msg
1>>>> referenced by x64\Release\IDAPinLogger.obj:(public: void __cdecl LEVEL_BASE::KNOBVALUE_LIST::Append(class std::basic_string const &))
1>>>> referenced by pin.lib(image.cpp.obj):(public: void __cdecl LEVEL_BASE::KNOBVALUE_LIST::Append(class std::__1::basic_string const &))
1>>>> referenced by pin.lib(image.cpp.obj):(public: void __cdecl LEVEL_BASE::KNOBVALUE_LIST::Append(class std::__1::basic_string const &))
1>>>> referenced 6 more times
1>
1>lld-link : error : undefined symbol: class std::basic_string __cdecl LEVEL_BASE::StringDec(unsigned __int64, unsigned int, char)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(class std::basic_string __cdecl LEVEL_BASE::decstr(unsigned int, unsigned int))
1>
1>lld-link : error : undefined symbol: public: static class std::basic_string __cdecl LEVEL_BASE::KNOBVALUE::FromString(class std::basic_string const &)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(public: void __cdecl LEVEL_BASE::KNOBVALUE::Overwrite(class std::basic_string const &))
1>>>> referenced by x64\Release\IDAPinLogger.obj:(public: void __cdecl LEVEL_BASE::KNOBVALUE::Accumulate(class std::basic_string const &))
1>
1>lld-link : error : undefined symbol: public: __cdecl LEVEL_BASE::KNOB_BASE::KNOB_BASE(class std::basic_string const &, class std::basic_string const &, class std::basic_string const &, class std::basic_string const &, class std::basic_string const &, enum LEVEL_BASE::KNOB_MODE)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(_GLOBAL__sub_I_IDAPinLogger.cpp)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(_GLOBAL__sub_I_IDAPinLogger.cpp)
1>>>> referenced by x64\Release\IDAPinLogger.obj:(_GLOBAL__sub_I_IDAPinLogger.cpp)
1>>>> referenced 1 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) private: void __cdecl std::__1::basic_string::__init(char const *, unsigned __int64)
1>>>> referenced by pin.lib(image.cpp.obj):(public: __cdecl LEVEL_BASE::KNOB_COMMENT::KNOB_COMMENT(class std::__1::basic_string const &, class std::__1::basic_string const &))
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_CreateAt(char const *, unsigned __int64, unsigned __int64, unsigned __int64, bool))
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_CreateAt(char const *, unsigned __int64, unsigned __int64, unsigned __int64, bool))
1>>>> referenced 1677 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) public: __cdecl std::__1::basic_string::~basic_string(void)
1>>>> referenced by pin.lib(image.cpp.obj):(public: __cdecl LEVEL_BASE::KNOB_COMMENT::KNOB_COMMENT(class std::__1::basic_string const &, class std::__1::basic_string const &))
1>>>> referenced by pin.lib(image.cpp.obj):(void __cdecl `dynamic atexit destructor for 'LEVEL_PINCLIENT::KnobSymFamily''(void))
1>>>> referenced by pin.lib(image.cpp.obj):(void __cdecl `dynamic atexit destructor for 'LEVEL_PINCLIENT::KnobSymFamily''(void))
1>>>> referenced 966 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) public: class std::__1::basic_string & __cdecl std::__1::basic_string::append(char const *, unsigned __int64)
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_FindRtnByName(class LEVEL_CORE::INDEX, class std::__1::basic_string const &))
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_FindRtnByName(class LEVEL_CORE::INDEX, class std::__1::basic_string const &))
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_FindRtnByName(class LEVEL_CORE::INDEX, class std::__1::basic_string const &))
1>>>> referenced 504 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) class std::__1::basic_string __cdecl std::__1::operator+(char const *, class std::__1::basic_string const &)
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_FindRtnByName(class LEVEL_CORE::INDEX, class std::__1::basic_string const &))
1>>>> referenced by pin.lib(image.cpp.obj):(void __cdecl LEVEL_PINCLIENT::AddRtnsToMap(class LEVEL_CORE::INDEX))
1>>>> referenced by pin.lib(image.cpp.obj):(private: void __cdecl LEVEL_PINCLIENT::RTN_OUTSIDE_RANGES::AttemptToExpandRtnSize(void))
1>>>> referenced 58 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) public: class std::__1::basic_string & __cdecl std::__1::basic_string::append(char const *)
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_FindRtnByName(class LEVEL_CORE::INDEX, class std::__1::basic_string const &))
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_FindRtnByName(class LEVEL_CORE::INDEX, class std::__1::basic_string const &))
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_FindRtnByName(class LEVEL_CORE::INDEX, class std::__1::basic_string const &))
1>>>> referenced 1674 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) public: class std::__1::basic_string & __cdecl std::__1::basic_string::insert(unsigned __int64, char const *)
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::IMG_CreateAt(char const *, unsigned __int64, unsigned __int64, unsigned __int64, bool))
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::FinalizeRtn(class LEVEL_CORE::INDEX, unsigned __int64))
1>>>> referenced by pin.lib(image.cpp.obj):(public: void __cdecl LEVEL_PINCLIENT::RTN_OUTSIDE_RANGES::AddTarget(unsigned __int64, unsigned __int64))
1>>>> referenced 204 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) protected: void __cdecl std::__1::__vector_base_common::__throw_length_error(void) const
1>>>> referenced by pin.lib(image.cpp.obj):(public: void __cdecl LEVEL_PINCLIENT::RTN_OUTSIDE_RANGES::RecordUJmpIns(class LEVEL_CORE::INDEX))
1>>>> referenced by pin.lib(image.cpp.obj):(private: class LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL * __cdecl LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL::FUNS::append(class LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL const *const))
1>>>> referenced by pin.lib(image.cpp.obj):(private: class LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL * __cdecl LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL::FUNS::append(class LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL const *const))
1>>>> referenced 75 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) public: __cdecl std::__1::basic_string::basic_string(class std::__1::basic_string const &)
1>>>> referenced by pin.lib(image.cpp.obj):(void __cdecl LEVEL_PINCLIENT::CompleteImageLoad(class LEVEL_CORE::INDEX, void *))
1>>>> referenced by pin.lib(image.cpp.obj):(void __cdecl LEVEL_PINCLIENT::IMG_RecordLoadOp(class std::__1::basic_string const &, char const *, unsigned __int64, unsigned int))
1>>>> referenced by pin.lib(image.cpp.obj):(public: virtual bool __cdecl LEVEL_BASE::KNOB::AddValue(class std::__1::basic_string const &))
1>>>> referenced 61 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) public: class std::__1::basic_string & __cdecl std::__1::basic_string::operator=(class std::__1::basic_string const &)
1>>>> referenced by pin.lib(image.cpp.obj):(void __cdecl LEVEL_PINCLIENT::IMG_RecordLoadOp(class std::__1::basic_string const &, char const *, unsigned __int64, unsigned int))
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::ImgLoad(class std::__1::basic_string const &, char const *, unsigned __int64, unsigned int, bool *, void *))
1>>>> referenced by pin.lib(image.cpp.obj):(class LEVEL_CORE::INDEX __cdecl LEVEL_PINCLIENT::ImgLoad(class std::__1::basic_string const &, char const *, unsigned __int64, unsigned int, bool *, void *))
1>>>> referenced 17 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) public: class std::__1::basic_string & __cdecl std::__1::basic_string::assign(char const *)
1>>>> referenced by pin.lib(image.cpp.obj):(class std::__1::basic_string __cdecl LEVEL_PINCLIENT::RTN_FindNameByAddress(unsigned __int64))
1>>>> referenced by pin.lib(ins_xed_ia32.cpp.obj):(class std::__1::basic_string __cdecl LEVEL_CORE::Disassemble(unsigned __int64, unsigned __int64))
1>>>> referenced by pin.lib(demangler.cpp.obj):(enum LEVEL_PINCLIENT::DEMANGLE_ERRCODE __cdecl LEVEL_PINCLIENT::DemangleSymbol(char const *, char *, unsigned __int64, enum LEVEL_BASE::UNDECORATION))
1>>>> referenced 3 more times
1>
1>lld-link : error : undefined symbol: __declspec(dllimport) public: unsigned __int64 __cdecl std::__1::basic_string::find(char, unsigned __int64) const
1>>>> referenced by pin.lib(image.cpp.obj):(void __cdecl LEVEL_PINCLIENT::UseShortName(class LEVEL_CORE::INDEX, class LEVEL_CORE::INDEX))
1>>>> referenced by pin.lib(image.cpp.obj):(void __cdecl LEVEL_PINCLIENT::UseShortName(class LEVEL_CORE::INDEX, class LEVEL_CORE::INDEX))
1>>>> referenced by pin.lib(knob.cpp.obj):(public: static class LEVEL_BASE::ADDRESS_RANGE __cdecl LEVEL_BASE::KNOBVALUE::FromString(class std::__1::basic_string const &))
1>>>> referenced 2 more times
1>
1>lld-link : error : too many errors emitted, stopping now (use /errorlimit:0 to see all errors)
1>Done building project "IDAPinLogger.vcxproj" -- FAILED.


Подробнее здесь: https://stackoverflow.com/questions/798 ... tudio-2022
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»