Я новичок в Visual C ++, .NET и мире программирования Windows (из Objective-C / Cocoa), и я пытаюсь использовать библиотеку CFLite (Open CoreFoundation Lite), которую я скомпилировал в .lib файл. Он написан на чистом неуправляемом C, и я хотел бы использовать его в своем управляемом приложении CLR .NET. Когда я пытаюсь связать его и использовать функцию CFSTR, которая является ярлыком для __CFStringMakeConstantString, она ужасно терпит неудачу. Любой совет? Прилагается ошибка.
Proj.obj : error LNK2031: unable to generate p/invoke for "extern "C" struct __CFString const * __clrcall __CFStringMakeConstantString(char const *)" (?__CFStringMakeConstantString@@$$J0YMPBU__CFString@@PBD@Z); calling convention missing in metadata
Proj.obj : warning LNK4248: unresolved typeref token (01000016) for '__CFString'; image may not run
Proj.obj : error LNK2028: unresolved token (0A00000B) "extern "C" struct __CFString const * __clrcall __CFStringMakeConstantString(char const *)" (?__CFStringMakeConstantString@@$$J0YMPBU__CFString@@PBD@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@System@@@Z)
Proj.obj : error LNK2019: unresolved external symbol "extern "C" struct __CFString const * __clrcall __CFStringMakeConstantString(char const *)" (?__CFStringMakeConstantString@@$$J0YMPBU__CFString@@PBD@Z) referenced in function "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@System@@@Z)
ОБНОВЛЕНИЕ: я закончил тем, что просто пошел с собственным приложением с вызовами Win32, так как мой пользовательский интерфейс все равно будет минимальным (это фоновое приложение). Я немного поигрался с p / invoke, и это казалось сложным для новичка, такого как я: p
Спасибо!