Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS单元测试-从本机库访问函数的问题_Ios_Xcode_Testing_Static Libraries_Native - Fatal编程技术网

iOS单元测试-从本机库访问函数的问题

iOS单元测试-从本机库访问函数的问题,ios,xcode,testing,static-libraries,native,Ios,Xcode,Testing,Static Libraries,Native,我正在创建一个使用另一个Native-C库的包装器库项目。 我可以在其他应用程序中使用包装器库函数,通过它可以访问Native-C库中的函数 现在,在包装器库项目中,当我添加“单元测试”(使用OCUnit)时,它给出了本机C库中存在的所有函数的错误。仅在执行单元测试时出错 它显示的错误是 **架构i386的未定义符号: “_SQMT_FUNC_close”,引用自: _libWrapperLibraryAlter.a(wrapperAPI.o)中的funcClose 叮当声:错误:链接器命令失败

我正在创建一个使用另一个Native-C库的包装器库项目。 我可以在其他应用程序中使用包装器库函数,通过它可以访问Native-C库中的函数

现在,在包装器库项目中,当我添加“单元测试”(使用OCUnit)时,它给出了本机C库中存在的所有函数的错误。仅在执行单元测试时出错

它显示的错误是

**架构i386的未定义符号: “_SQMT_FUNC_close”,引用自: _libWrapperLibraryAlter.a(wrapperAPI.o)中的funcClose

叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)**

函数“funcClose”存在于当前包装器库项目(.m文件)中。函数“SQMT_FUNC_close”存在于本机C库项目(.C文件)中

单元测试执行显示所有本机C函数的错误

请帮助解决这个问题

Lirary路径:

**/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/work/Final_code/test/iOS/Debug-iphonesimulator -L/work/Final_code/test/iOS/iOSWrapper/../../Product/Library/iOS/Release-iphoneos -F/work/Final_code/test/iOS/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -filelist /work/Final_code/test/iOS/Build/Intermediates/iOSWrapper.build/Debug-iphonesimulator/wrapperTests.build/Objects-normal/i386/wrapperTests.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5.0 -liOSWrapper -lHomeLittle -framework SenTestingKit -framework Foundation -framework UIKit -o /work/Final_code/iOS/Debug-iphonesimulator/wrapperTests.octest/wrapperTests**
iOSWrapper-是我正在测试的当前包装器库。
HomeLittle-是本机C库

您可以添加-L-L吗?您的本机库应该有一个名称lib,然后添加它,就像-lexebook:i添加了库路径一样。请检查。您是否可以检查编译器报告在转到
未定义符号之前是否找不到库HomeLittle
?您确定HomeLittle实际上已编译到libHomeLittle.o中?您还可以检查libHomeLittle.o arch。(你可以在上面找到如何做)exebook:在给出错误之前,出现了以下警告。ld:警告:忽略文件/work/Final_代码/Product/Library/iOS/Release iphoneos/libHomeLittle.a,在文件/work/Final_代码/Product/Library/iOS/Release iphoneos/libHomeLittle.a中缺少必需的体系结构i386(2片)
**/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/work/Final_code/test/iOS/Debug-iphonesimulator -L/work/Final_code/test/iOS/iOSWrapper/../../Product/Library/iOS/Release-iphoneos -F/work/Final_code/test/iOS/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -filelist /work/Final_code/test/iOS/Build/Intermediates/iOSWrapper.build/Debug-iphonesimulator/wrapperTests.build/Objects-normal/i386/wrapperTests.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5.0 -liOSWrapper -lHomeLittle -framework SenTestingKit -framework Foundation -framework UIKit -o /work/Final_code/iOS/Debug-iphonesimulator/wrapperTests.octest/wrapperTests**