I'm trying to use your RegexKitLite for my iPhone app Project.
I've downloaded the latest revision, 35, and have added the .m and .h files to my project, however when I try to build it I get the error below during the Linking stage. Is there something I am doing wrong?
advTHANXance!
Code:
Undefined symbols:
"_uregex_reset", referenced from:
_rkl_splitArray in RegexKitLite.o
_rkl_replaceAll in RegexKitLite.o
"_uregex_appendTail", referenced from:
_rkl_replaceAll in RegexKitLite.o
"_uregex_end", referenced from:
_rkl_find in RegexKitLite.o
_rkl_find in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
"_uregex_findNext", referenced from:
_rkl_find in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
_rkl_replaceAll in RegexKitLite.o
"_uregex_open", referenced from:
_getCachedRegex in RegexKitLite.o
"_u_errorName", referenced from:
_userInfoDictionary in RegexKitLite.o
_RKLNSExceptionForRegex in RegexKitLite.o
"_uregex_setText", referenced from:
_setCacheSlotToString in RegexKitLite.o
_clearCacheSlotSetTo in RegexKitLite.o
"_uregex_appendReplacement", referenced from:
_rkl_replaceAll in RegexKitLite.o
"_uregex_find", referenced from:
_rkl_find in RegexKitLite.o
"_u_strlen", referenced from:
_userInfoDictionary in RegexKitLite.o
_userInfoDictionary in RegexKitLite.o
"_uregex_start", referenced from:
_rkl_find in RegexKitLite.o
_rkl_find in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
"_uregex_groupCount", referenced from:
_getCachedRegex in RegexKitLite.o
"_uregex_close", referenced from:
_clearCacheSlotRegex in RegexKitLite.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
It looks like you forget to link to the ICU library. There's a lot of different ways to do this, but the simplest is probably to open either the project or target settings (Project > Edit Project Settings, Project > Edit Active Target '...', I'd opt for edit active target if you're not sure).
Select the 'Build' tab at the top, then find the 'Linking..' section. There will be a field called 'Other Linker Flags'. Double click the value column for that row and enter '-licucore'. This will tell the linker that the ICU library needs to be linked to.
In project setting search "other" at Other Linker Flags put the word "-licucore".
Quote:
Originally Posted by untitled
Hi,
I'm trying to use your RegexKitLite for my iPhone app Project.
I've downloaded the latest revision, 35, and have added the .m and .h files to my project, however when I try to build it I get the error below during the Linking stage. Is there something I am doing wrong?
advTHANXance!
Code:
Undefined symbols:
"_uregex_reset", referenced from:
_rkl_splitArray in RegexKitLite.o
_rkl_replaceAll in RegexKitLite.o
"_uregex_appendTail", referenced from:
_rkl_replaceAll in RegexKitLite.o
"_uregex_end", referenced from:
_rkl_find in RegexKitLite.o
_rkl_find in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
"_uregex_findNext", referenced from:
_rkl_find in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
_rkl_replaceAll in RegexKitLite.o
"_uregex_open", referenced from:
_getCachedRegex in RegexKitLite.o
"_u_errorName", referenced from:
_userInfoDictionary in RegexKitLite.o
_RKLNSExceptionForRegex in RegexKitLite.o
"_uregex_setText", referenced from:
_setCacheSlotToString in RegexKitLite.o
_clearCacheSlotSetTo in RegexKitLite.o
"_uregex_appendReplacement", referenced from:
_rkl_replaceAll in RegexKitLite.o
"_uregex_find", referenced from:
_rkl_find in RegexKitLite.o
"_u_strlen", referenced from:
_userInfoDictionary in RegexKitLite.o
_userInfoDictionary in RegexKitLite.o
"_uregex_start", referenced from:
_rkl_find in RegexKitLite.o
_rkl_find in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
_rkl_splitArray in RegexKitLite.o
"_uregex_groupCount", referenced from:
_getCachedRegex in RegexKitLite.o
"_uregex_close", referenced from:
_clearCacheSlotRegex in RegexKitLite.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
It looks like you forget to link to the ICU library. There's a lot of different ways to do this, but the simplest is probably to open either the project or target settings (Project > Edit Project Settings, Project > Edit Active Target '...', I'd opt for edit active target if you're not sure).
Select the 'Build' tab at the top, then find the 'Linking..' section. There will be a field called 'Other Linker Flags'. Double click the value column for that row and enter '-licucore'. This will tell the linker that the ICU library needs to be linked to.