Undefined symbols for architecture x86_64 using C libraries - objective-c

I have been having a lot of linker errors. I made sure to install all of the libraries I need via macports. I sorted out all of the include errors, but now I have a lot of linker errors left.
HEADER_SEARCH_PATHS = /opt/local/include /usr/include /opt/local/include/json
LIBRARY_SEARCH_PATHS = /opt/local/lib /usr/local/lib
Build target PianoLounge
Ld /Users/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Products/Debug/PianoLounge.app/Contents/MacOS/PianoLounge normal x86_64
cd /Users/jordan/Projects/Cocoa/PianoLounge
setenv MACOSX_DEPLOYMENT_TARGET 10.8
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -L/Users/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Products/Debug -L/opt/local/lib -L/usr/local/lib -F/Users/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Products/Debug -filelist /Users/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Intermediates/PianoLounge.build/Debug/PianoLounge.build/Objects-normal/x86_64/PianoLounge.LinkFileList -mmacosx-version-min=10.8 -fobjc-arc -fobjc-link-runtime -framework Cocoa -o /Users/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Products/Debug/PianoLounge.app/Contents/MacOS/PianoLounge
Undefined symbols for architecture x86_64:
"_gcry_cipher_close", referenced from:
_PianoDestroyPartner in piano.o
"_gcry_cipher_decrypt", referenced from:
_PianoDecryptString in crypt.o
"_gcry_cipher_encrypt", referenced from:
_PianoEncryptString in crypt.o
"_gcry_cipher_open", referenced from:
_PianoInit in piano.o
"_gcry_cipher_setkey", referenced from:
_PianoInit in piano.o
"_gnutls_bye", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_certificate_allocate_credentials", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_certificate_free_credentials", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_certificate_get_peers", referenced from:
_WaitressTlsVerify in waitress.o
"_gnutls_certificate_type_get", referenced from:
_WaitressTlsVerify in waitress.o
"_gnutls_credentials_set", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_deinit", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_handshake", referenced from:
_WaitressConnect in waitress.o
"_gnutls_init", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_record_recv", referenced from:
_WaitressGnutlsRead in waitress.o
"_gnutls_record_send", referenced from:
_WaitressGnutlsWrite in waitress.o
"_gnutls_set_default_priority", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_transport_set_ptr", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_transport_set_pull_function", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_transport_set_push_function", referenced from:
_WaitressFetchCall in waitress.o
"_gnutls_x509_crt_deinit", referenced from:
_WaitressTlsVerify in waitress.o
"_gnutls_x509_crt_get_fingerprint", referenced from:
_WaitressTlsVerify in waitress.o
"_gnutls_x509_crt_import", referenced from:
_WaitressTlsVerify in waitress.o
"_gnutls_x509_crt_init", referenced from:
_WaitressTlsVerify in waitress.o
"_json_object_array_add", referenced from:
_PianoRequest in request.o
"_json_object_array_get_idx", referenced from:
_PianoResponse in response.o
"_json_object_array_length", referenced from:
_PianoResponse in response.o
"_json_object_get_boolean", referenced from:
_PianoResponse in response.o
_PianoJsonParseStation in response.o
"_json_object_get_double", referenced from:
_PianoResponse in response.o
"_json_object_get_int", referenced from:
_PianoResponse in response.o
"_json_object_get_object", referenced from:
_PianoResponse in response.o
"_json_object_get_string", referenced from:
_PianoResponse in response.o
_PianoJsonStrdup in response.o
"_json_object_new_array", referenced from:
_PianoRequest in request.o
"_json_object_new_boolean", referenced from:
_PianoRequest in request.o
"_json_object_new_int", referenced from:
_PianoRequest in request.o
"_json_object_new_object", referenced from:
_PianoRequest in request.o
"_json_object_new_string", referenced from:
_PianoRequest in request.o
"_json_object_object_add", referenced from:
_PianoRequest in request.o
"_json_object_object_get", referenced from:
_PianoResponse in response.o
_PianoJsonStrdup in response.o
_PianoJsonParseStation in response.o
"_json_object_put", referenced from:
_PianoRequest in request.o
_PianoResponse in response.o
"_json_object_to_json_string", referenced from:
_PianoRequest in request.o
"_json_tokener_parse", referenced from:
_PianoResponse in response.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It looks like you are missing the required libraries gnutls, gcrypt and json to link against. Unless you tell Xcode what libraries to link against it won't have any idea. It will look something like this:
-lgnutls -lgcrypt -ljson
(That is an example, I am not sure what libraries specifically are required).
You'll want to add those as extra libraries to link against in your Xcode project.

Related

Upgrading React Native version give me "Undefined symbols for architecture x86_64"

I am trying to upgrade my react-native version from 63 to 67.4 and I have issues for the iOS part.
I have done bundle install yarn upgrade cd iOS && pod install and this is the issue I have after changing iOS deployment target from 10.0 to 11.0 as suggested in the react-native upgrade helper.
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_RCTViewManager", referenced from:
_OBJC_CLASS_$_BVLinearGradientManager in BVLinearGradientManager.o
"_OBJC_METACLASS_$_RCTViewManager", referenced from:
_OBJC_METACLASS_$_BVLinearGradientManager in BVLinearGradientManager.o
"_OBJC_CLASS_$_RCTView", referenced from:
_OBJC_CLASS_$_BVLinearGradient in BVLinearGradient.o
"_OBJC_METACLASS_$_RCTView", referenced from:
_OBJC_METACLASS_$_BVLinearGradient in BVLinearGradient.o
"_RCTRegisterModule", referenced from:
+[BVLinearGradientManager load] in BVLinearGradientManager.o
"_OBJC_CLASS_$_RCTConvert", referenced from:
objc-class-ref in BVLinearGradient.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
After fixing this error by adding React-Core to the linked binary with librairies in the Build Phases. I have a second error which I don't know if it is linked to the previous fix or from what it is:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_NSPersistentStoreCoordinator", referenced from:
objc-class-ref in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_NSMigratePersistentStoresAutomaticallyOption", referenced from:
-[MQTTCoreDataPersistence createPersistentStoreCoordinator] in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_OBJC_CLASS_$_NSManagedObject", referenced from:
_OBJC_CLASS_$_MQTTFlow in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_NSInferMappingModelAutomaticallyOption", referenced from:
-[MQTTCoreDataPersistence createPersistentStoreCoordinator] in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_OBJC_CLASS_$_NSFetchRequest", referenced from:
objc-class-ref in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_NSSQLiteManualVacuumOption", referenced from:
-[MQTTCoreDataPersistence createPersistentStoreCoordinator] in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_NSSQLiteAnalyzeOption", referenced from:
-[MQTTCoreDataPersistence createPersistentStoreCoordinator] in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_OBJC_CLASS_$_NSManagedObjectContext", referenced from:
objc-class-ref in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_OBJC_CLASS_$_NSAttributeDescription", referenced from:
objc-class-ref in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_OBJC_METACLASS_$_NSManagedObject", referenced from:
_OBJC_METACLASS_$_MQTTFlow in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_NSSQLiteStoreType", referenced from:
-[MQTTCoreDataPersistence createPersistentStoreCoordinator] in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_OBJC_CLASS_$_NSManagedObjectModel", referenced from:
objc-class-ref in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_OBJC_CLASS_$_NSEntityDescription", referenced from:
objc-class-ref in libNAOSDK.a(MQTTCoreDataPersistence.o)
"_NSInMemoryStoreType", referenced from:
-[MQTTCoreDataPersistence createPersistentStoreCoordinator] in libNAOSDK.a(MQTTCoreDataPersistence.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
And this is the dependencies I have in my package.json:
"dependencies": {
"#babel/plugin-proposal-class-properties": "7.16.7",
"#bam.tech/react-native-batch": "6.0.1",
"#react-native-async-storage/async-storage": "1.17.0",
"#react-native-community/datetimepicker": "6.1.0",
"#react-native-community/eslint-config": "3.0.1",
"#react-native-community/masked-view": "0.1.11",
"#react-native-community/netinfo": "8.2.0",
"#react-native-community/push-notification-ios": "1.10.1",
"#react-native-firebase/analytics": "14.7.0",
"#react-native-firebase/app": "14.7.0",
"#react-native-firebase/crashlytics": "14.7.0",
"#react-native-firebase/messaging": "14.7.0",
"#react-navigation/bottom-tabs": "6.2.0",
"#react-navigation/native": "6.0.8",
"#react-navigation/stack": "6.1.1",
"#zsajjad/react-native-heading": "git+https://github.com/zsajjad/react-native-heading.git",
"buffer": "6.0.3",
"date-fns": "2.28.0",
"i18next": "21.6.14",
"memoize-one": "6.0.0",
"moment": "2.29.1",
"react": "17.0.2",
"react-i18next": "11.16.2",
"react-native": "0.67.4",
"react-native-autolink": "4.0.0",
"react-native-camera": "4.2.1",
"react-native-cardiweb-polestar": "0.5.7",
"react-native-contacts": "7.0.4",
"react-native-elements": "3.4.2",
"react-native-fast-image": "8.5.11",
"react-native-gesture-handler": "2.3.2",
"react-native-image-crop-picker": "0.37.3",
"react-native-image-progress": "1.2.0",
"react-native-keyboard-aware-scroll-view": "0.9.5",
"react-native-linear-gradient": "2.5.6",
"react-native-modal-datetime-picker": "13.1.0",
"react-native-progress": "5.0.0",
"react-native-push-notification": "8.1.1",
"react-native-reanimated": "2.5.0",
"react-native-root-modal": "5.0.1",
"react-native-safe-area-context": "4.1.4",
"react-native-screens": "3.11.1",
"react-native-snap-carousel": "3.9.1",
"react-native-splash-screen": "3.3.0",
"react-native-svg": "12.3.0",
"react-native-swipe-gestures": "1.0.5",
"react-native-swipeable": "0.6.0",
"react-native-swiper-flatlist": "3.0.16",
"react-native-vector-icons": "9.1.0",
"react-native-video": "5.2.0",
"react-native-webview": "11.17.2",
"react-redux": "7.2.6",
"redux": "4.1.2",
"redux-persist": "6.0.0",
"redux-thunk": "2.4.1",
"remote-redux-devtools": "0.5.16",
"rn-fetch-blob": "0.12.0"
},

What I doing wrong when i build Live555-MediaServer?

I get an error when I compile MediaSever
Rebuild started...
1>------ Rebuild All started: Project: mediaServer, Configuration: Debug x64 ------
1>DynamicRTSPServer.cpp
1>E:\SS\sy\C\live555\mediaServer\DynamicRTSPServer.cpp(193,53): warning C4267: 'initializing': conversion from 'size_t' to 'unsigned int', possible loss of data
1>live555MediaServer.cpp
1>Generating Code...
1>BasicUsageEnvironment.lib(BasicUsageEnvironment.obj) : error LNK2019: unresolved external symbol "public: virtual void __cdecl UsageEnvironment::internalError(void)" (?internalError#UsageEnvironment##UEAAXXZ) referenced in function "protected: __cdecl BasicUsageEnvironment::BasicUsageEnvironment(class TaskScheduler &)" (??0BasicUsageEnvironment##IEAA#AEAVTaskScheduler###Z)
1>BasicUsageEnvironment.lib(BasicUsageEnvironment0.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl UsageEnvironment::internalError(void)" (?internalError#UsageEnvironment##UEAAXXZ)
1>BasicUsageEnvironment.lib(BasicTaskScheduler.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl TaskScheduler::rescheduleDelayedTask(void * &,__int64,void (__cdecl*)(void *),void *)" (?rescheduleDelayedTask#TaskScheduler##UEAAXAEAPEAX_JP6AXPEAX#Z2#Z)
1>BasicUsageEnvironment.lib(BasicTaskScheduler0.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl TaskScheduler::rescheduleDelayedTask(void * &,__int64,void (__cdecl*)(void *),void *)" (?rescheduleDelayedTask#TaskScheduler##UEAAXAEAPEAX_JP6AXPEAX#Z2#Z)
1>BasicUsageEnvironment.lib(BasicTaskScheduler.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl TaskScheduler::internalError(void)" (?internalError#TaskScheduler##UEAAXXZ)
1>BasicUsageEnvironment.lib(BasicTaskScheduler0.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl TaskScheduler::internalError(void)" (?internalError#TaskScheduler##UEAAXXZ)
1>BasicUsageEnvironment.lib(BasicUsageEnvironment0.obj) : error LNK2019: unresolved external symbol "protected: __cdecl UsageEnvironment::UsageEnvironment(class TaskScheduler &)" (??0UsageEnvironment##IEAA#AEAVTaskScheduler###Z) referenced in function "protected: __cdecl BasicUsageEnvironment0::BasicUsageEnvironment0(class TaskScheduler &)" (??0BasicUsageEnvironment0##IEAA#AEAVTaskScheduler###Z)
1>BasicUsageEnvironment.lib(BasicUsageEnvironment0.obj) : error LNK2019: unresolved external symbol "protected: virtual __cdecl UsageEnvironment::~UsageEnvironment(void)" (??1UsageEnvironment##MEAA#XZ) referenced in function "int `protected: __cdecl BasicUsageEnvironment0::BasicUsageEnvironment0(class TaskScheduler &)'::`1'::dtor$0" (?dtor$0#?0???0BasicUsageEnvironment0##IEAA#AEAVTaskScheduler###Z#4HA)
1>BasicUsageEnvironment.lib(BasicTaskScheduler0.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl TaskScheduler::~TaskScheduler(void)" (??1TaskScheduler##UEAA#XZ) referenced in function "int `protected: __cdecl BasicTaskScheduler0::BasicTaskScheduler0(void)'::`1'::dtor$0" (?dtor$0#?0???0BasicTaskScheduler0##IEAA#XZ#4HA)
1>BasicUsageEnvironment.lib(BasicTaskScheduler0.obj) : error LNK2019: unresolved external symbol "protected: __cdecl TaskScheduler::TaskScheduler(void)" (??0TaskScheduler##IEAA#XZ) referenced in function "protected: __cdecl BasicTaskScheduler0::BasicTaskScheduler0(void)" (??0BasicTaskScheduler0##IEAA#XZ)
1>E:\SS\sy\C\live555\x64\Debug\mediaServer.exe : fatal error LNK1120: 7 unresolved externals
1>Done building project "mediaServer.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
This is my lib configuration:
I searched Google and StackOverflow and found no related issues

LNK2028 LNK2029 when compiling static c++ library in managed c++/clr

As i am pretty much out of ideas and the google results by now have reached the point where they hit ~10 and less, i now turn here in hope of seeing the answer or at least a clue that leads me to the actual solution.
I am creating a project that can be distributed as executable, non-static library and static library.
I want to use the library in a WPF project (C#) which is why i created a simple CLR wrapper.
It all worked very well up until the most recent change introduced into the base-library.
Now, i get linkage errors (5 in total) on all calls to the "main" class in the library project:
1>wrapper.obj : error LNK2028: unresolved token (0A0016EB) "public: class std::vector<struct sqf::diagnostics::stackdump,class std::allocator<struct sqf::diagnostics::stackdump> > __thiscall sqf::vmstack::dump_callstack_diff(class std::shared_ptr<class sqf::callstack>)" (?dump_callstack_diff#vmstack#sqf##$$FQAE?AV?$vector#Ustackdump#diagnostics#sqf##V?$allocator#Ustackdump#diagnostics#sqf###std###std##V?$shared_ptr#Vcallstack#sqf###4##Z) referenced in function "public: class std::vector<struct sqf::diagnostics::stackdump,class std::allocator<struct sqf::diagnostics::stackdump> > __thiscall SqfVm::wrapper::get_stackdump(void)" (?get_stackdump#wrapper#SqfVm##$$FQAE?AV?$vector#Ustackdump#diagnostics#sqf##V?$allocator#Ustackdump#diagnostics#sqf###std###std##XZ)
1>wrapper.obj : error LNK2028: unresolved token (0A0016F5) "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall sqf::virtualmachine::preprocess(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,bool &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?preprocess#virtualmachine#sqf##$$FQAE?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##V34#AA_N0#Z) referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SqfVm::wrapper::preprocess(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,bool &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?preprocess#wrapper#SqfVm##$$FQAE?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##V34#AA_N0#Z)
1>wrapper.obj : error LNK2028: unresolved token (0A0016F6) "public: struct sqf::parse::astnode __thiscall sqf::virtualmachine::parse_sqf_cst(class std::basic_string_view<char,struct std::char_traits<char> >,bool &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?parse_sqf_cst#virtualmachine#sqf##$$FQAE?AUastnode#parse#2#V?$basic_string_view#DU?$char_traits#D#std###std##AA_NV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##6##Z) referenced in function "public: struct sqf::parse::astnode __thiscall sqf::virtualmachine::parse_sqf_cst(class std::basic_string_view<char,struct std::char_traits<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?parse_sqf_cst#virtualmachine#sqf##$$FQAE?AUastnode#parse#2#V?$basic_string_view#DU?$char_traits#D#std###std##V?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##6##Z)
1>wrapper.obj : error LNK2019: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall sqf::virtualmachine::preprocess(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,bool &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?preprocess#virtualmachine#sqf##$$FQAE?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##V34#AA_N0#Z) referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SqfVm::wrapper::preprocess(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,bool &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?preprocess#wrapper#SqfVm##$$FQAE?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##V34#AA_N0#Z)
1>wrapper.obj : error LNK2019: unresolved external symbol "public: struct sqf::parse::astnode __thiscall sqf::virtualmachine::parse_sqf_cst(class std::basic_string_view<char,struct std::char_traits<char> >,bool &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?parse_sqf_cst#virtualmachine#sqf##$$FQAE?AUastnode#parse#2#V?$basic_string_view#DU?$char_traits#D#std###std##AA_NV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##6##Z) referenced in function "public: struct sqf::parse::astnode __thiscall sqf::virtualmachine::parse_sqf_cst(class std::basic_string_view<char,struct std::char_traits<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?parse_sqf_cst#virtualmachine#sqf##$$FQAE?AUastnode#parse#2#V?$basic_string_view#DU?$char_traits#D#std###std##V?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##6##Z)
1>wrapper.obj : error LNK2019: unresolved external symbol "public: class std::vector<struct sqf::diagnostics::stackdump,class std::allocator<struct sqf::diagnostics::stackdump> > __thiscall sqf::vmstack::dump_callstack_diff(class std::shared_ptr<class sqf::callstack>)" (?dump_callstack_diff#vmstack#sqf##$$FQAE?AV?$vector#Ustackdump#diagnostics#sqf##V?$allocator#Ustackdump#diagnostics#sqf###std###std##V?$shared_ptr#Vcallstack#sqf###4##Z) referenced in function "public: class std::vector<struct sqf::diagnostics::stackdump,class std::allocator<struct sqf::diagnostics::stackdump> > __thiscall SqfVm::wrapper::get_stackdump(void)" (?get_stackdump#wrapper#SqfVm##$$FQAE?AV?$vector#Ustackdump#diagnostics#sqf##V?$allocator#Ustackdump#diagnostics#sqf###std###std##XZ)
1>wrapper.obj : error LNK2019: unresolved external symbol "public: __thiscall sqf::virtualmachine::virtualmachine(class Logger &,unsigned __int64)" (??0virtualmachine#sqf##QAE#AAVLogger##_K#Z) referenced in function "public: __thiscall sqf::virtualmachine::virtualmachine(class Logger &)" (??0virtualmachine#sqf##QAE#AAVLogger###Z)
1>D:\Git\SQFvm\clrBridge\Release\clrBridge.dll : fatal error LNK1120: 7 unresolved externals
The projects, can both be found here:
The C++ Project https://github.com/SQFvm/vm
The C++/CLR Project https://github.com/SQFvm/ClrBridge
Was able to get rid of the LNK2028 issues by adding another separation layer (wrapper.cpp & wrapper.h) and then putting a #pragma unmanaged at the top of the cpp file.
Only the LNK2019 issues are left now
For those users who may find this question in the future, here is what helped me:
Separating all classes
Adding #pragma managed to the an unmanaged wrapper for the actual class (got rid of the LNK2028)
One of the following commits:
Moving invalidly placed C method out of external "C" that is not involved in any way normally to the static library built but MAY intefere with the CLR build process as the header still was there
Altering the arangement of the constructor
Hope this helps you.

Trying to compile Nite2 sample in OpenNI

I am new in Kinect SDK, therefore I am asking for your help solving this problem:
1>------ Build started: Project: UserViewer, Configuration: Debug
Win32 ------
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniInitialize referenced in function "public: static enum openni::Status __cdecl openni::OpenNI::initialize(void)"
(?initialize#OpenNI#openni##SA?AW4Status#2#XZ)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniShutdown referenced in function "public: static void __cdecl openni::OpenNI::shutdown(void)" (?shutdown#OpenNI#openni##SAXXZ)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniGetExtendedError referenced in function "public: static char const * __cdecl openni::OpenNI::getExtendedError(void)"
(?getExtendedError#OpenNI#openni##SAPBDXZ)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniDeviceOpen referenced in function "public: enum openni::Status __thiscall openni::Device::open(char const *)"
(?open#Device#openni##QAE?AW4Status#2#PBD#Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniDeviceClose referenced in function "public: void __thiscall openni::Device::close(void)" (?close#Device#openni##QAEXXZ)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniDeviceGetInfo referenced in function "private: enum openni::Status __thiscall openni::Device::_setHandle(struct _OniDevice
*)" (?_setHandle#Device#openni##AAE?AW4Status#2#PAU_OniDevice###Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniDeviceIsPropertySupported referenced in function "public: bool __thiscall openni::Device::isPropertySupported(int)const "
(?isPropertySupported#Device#openni##QBE_NH#Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniDeviceIsCommandSupported referenced in function "public: bool __thiscall openni::Device::isCommandSupported(int)const "
(?isCommandSupported#Device#openni##QBE_NH#Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniFrameAddRef referenced in function "public: void __thiscall openni::VideoFrameRef::_setFrame(struct OniFrame *)"
(?_setFrame#VideoFrameRef#openni##QAEXPAUOniFrame###Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_oniFrameRelease referenced in function "public: void __thiscall openni::VideoFrameRef::release(void)"
(?release#VideoFrameRef#openni##QAEXXZ)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteInitialize referenced in function "public: static enum nite::Status __cdecl nite::NiTE::initialize(void)"
(?initialize#NiTE#nite##SA?AW4Status#2#XZ)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteShutdown referenced in function "public: static void __cdecl nite::NiTE::shutdown(void)" (?shutdown#NiTE#nite##SAXXZ)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteInitializeUserTracker referenced in function "public: enum nite::Status __thiscall nite::UserTracker::create(class openni::Device
*)" (?create#UserTracker#nite##QAE?AW4Status#2#PAVDevice#openni###Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteInitializeUserTrackerByDevice referenced in function "public: enum nite::Status __thiscall nite::UserTracker::create(class
openni::Device *)"
(?create#UserTracker#nite##QAE?AW4Status#2#PAVDevice#openni###Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteShutdownUserTracker referenced in function "public: void __thiscall nite::UserTracker::destroy(void)" (?destroy#UserTracker#nite##QAEXXZ)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteStartSkeletonTracking referenced in function "public: enum nite::Status __thiscall
nite::UserTracker::startSkeletonTracking(short)"
(?startSkeletonTracking#UserTracker#nite##QAE?AW4Status#2#F#Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteStartPoseDetection referenced in function "public: enum nite::Status __thiscall
nite::UserTracker::startPoseDetection(short,enum nite::PoseType)"
(?startPoseDetection#UserTracker#nite##QAE?AW4Status#2#FW4PoseType#2##Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteReadUserTrackerFrame referenced in function "public: enum nite::Status __thiscall nite::UserTracker::readFrame(class
nite::UserTrackerFrameRef *)"
(?readFrame#UserTracker#nite##QAE?AW4Status#2#PAVUserTrackerFrameRef#2##Z)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteUserTrackerFrameRelease referenced in function "public: void __thiscall nite::UserTrackerFrameRef::release(void)"
(?release#UserTrackerFrameRef#nite##QAEXXZ)
1>Viewer.obj : error LNK2019: unresolved external symbol
_imp_niteConvertJointCoordinatesToDepth referenced in function "public: enum nite::Status __thiscall
nite::UserTracker::convertJointCoordinatesToDepth(float,float,float,float
*,float *)const " (?convertJointCoordinatesToDepth#UserTracker#nite##QBE?AW4Status#2#MMMPAM0#Z)
1>C:\Program
Files\PrimeSense\NiTE2\Samples\UserViewer..\Bin\UserViewer.exe :
fatal error LNK1120: 20 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I am working with OpenNI2 and Nite2 and trying to compile one of the Nite2 Sample projects.
OpenNI2 doesn't support Kinect, as long as I know, maybe you can try with old OpenNI, at least that's what I learned, after trying the same, but I don't know under windows, I'm using GNU/ubuntu.

Linker error when compiling iPhone app for Simulator using OGRE libraries

I'm trying to build an iPhone app using the OGRE framework, and I'm getting a linker error when building for the simulator that I'm not sure how to fix.
I created the Xcode project using the OGRE iPhone template. I'm using the static libraries for OGRE from the main website, Ogre_iOS_4.0_Dependencies_20100623, and trying to build for the iOS 4.1 Simulator. I'm building with Xcode 3.2.4 on Mac OS X 10.6.4.
Compilation seems to work fine, but when it gets to the link stage, I get the following errors:
Ld build/Debug-iphonesimulator/OgreTestApp.app/OgreTestApp normal i386
cd /Users/pauly/Projects/workspaces/games/OgreTestApp
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk -L/Users/pauly/Projects/workspaces/games/OgreTestApp/build/Debug-iphonesimulator -L/Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release -L/Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/iPhoneDependencies/lib/release -F/Users/pauly/Projects/workspaces/games/OgreTestApp/build/Debug-iphonesimulator -filelist /Users/pauly/Projects/workspaces/games/OgreTestApp/build/OgreTestApp.build/Debug-iphonesimulator/OgreTestApp.build/Objects-normal/i386/OgreTestApp.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -lboost_date_time -lboost_thread -lFreeImage -lFreeType -lOIS -lzzip -lOgreMainStatic -lRenderSystem_GLESStatic -lPlugin_BSPSceneManagerStatic -lPlugin_OctreeSceneManagerStatic -lPlugin_ParticleFXStatic -o /Users/pauly/Projects/workspaces/games/OgreTestApp/build/Debug-iphonesimulator/OgreTestApp.app/OgreTestApp
ld: warning: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::allocate(unsigned long, void const*)has different visibility (default) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libOIS.a(OISInputManager.o) and (hidden) in /Users/pauly/Projects/workspaces/games/OgreTestApp/build/OgreTestApp.build/Debug-iphonesimulator/OgreTestApp.build/Objects-normal/i386/OgreFramework.o
ld: warning: std::_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_create_node(std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)has different visibility (default) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libOIS.a(OISInputManager.o) and (hidden) in /Users/pauly/Projects/workspaces/games/OgreTestApp/build/OgreTestApp.build/Debug-iphonesimulator/OgreTestApp.build/Objects-normal/i386/OgreFramework.o
ld: warning: std::char_traits<char>::eq(char const&, char const&)has different visibility (hidden) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libFreeImage.a(IPTC.o) and (default) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libOgreMainStatic.a(OgreString.o)
ld: warning: std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)has different visibility (hidden) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libFreeImage.a(IPTC.o) and (default) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libOgreMainStatic.a(OgreScriptCompiler.o)
Undefined symbols:
".objc_class_name_NSAutoreleasePool", referenced from:
literal-pointer#__OBJC#__cls_refs#NSAutoreleasePool in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_UIApplication", referenced from:
literal-pointer#__OBJC#__cls_refs#UIApplication in libOIS.a(iPhoneInputManager.o)
".objc_class_name_UIWindow", referenced from:
literal-pointer#__OBJC#__cls_refs#UIWindow in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_UIView", referenced from:
.objc_class_name_InputDelegate in libOIS.a(iPhoneInputManager.o)
.objc_class_name_EAGLView in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_UIAccelerometer", referenced from:
literal-pointer#__OBJC#__cls_refs#UIAccelerometer in libOIS.a(iPhoneInputManager.o)
literal-pointer#__OBJC#__cls_refs#UIAccelerometer in libOIS.a(iPhoneAccelerometer.o)
".objc_class_name_CAEAGLLayer", referenced from:
literal-pointer#__OBJC#__cls_refs#CAEAGLLayer in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_EAGLContext", referenced from:
literal-pointer#__OBJC#__cls_refs#EAGLContext in libRenderSystem_GLESStatic.a(OgreEAGLESContext.o)
".objc_class_name_NSDictionary", referenced from:
literal-pointer#__OBJC#__cls_refs#NSDictionary in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_NSNumber", referenced from:
literal-pointer#__OBJC#__cls_refs#NSNumber in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_UIScreen", referenced from:
literal-pointer#__OBJC#__cls_refs#UIScreen in libOIS.a(iPhoneInputManager.o)
literal-pointer#__OBJC#__cls_refs#UIScreen in libRenderSystem_GLESStatic.a(OgreEAGLSupport.o)
literal-pointer#__OBJC#__cls_refs#UIScreen in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
How do I fix this? Thanks.
Probably you need correct precompiled Ogre dependencies for correct iOS SDK version (Masterfalcon regularly publish those dependencies on the ogre3d.org).
Similar linker errors often caused by incorrect iPhoneDependencies (build for older iPhoneSKD that you have).
Just follow the instructions as listed here:
http://www.ogre3d.org/tikiwiki/Building+Ogre+with+CMake
Secion "Configuring for iPhone".
All should build fine.