用theos创建了一个Application,需要调用一个纯C写的dylib,编译能正常通过,在链接的时候报如下错误:
Making all for application PacketCaptureDemo001...
Copying resource directories into the application wrapper...
Compiling main.m...
Compiling PacketCaptureDemo001Application.mm...
Compiling RootViewController.mm...
Linking application PacketCaptureDemo001...
Undefined symbols for architecture armv7s:
"mt_vqmon_run()", referenced from:
-[PacketCaptureDemo001Application applicationDidFinishLaunching:] in PacketCaptureDemo001Application.mm.4a9f2d30.o
"mt_vqmon_init(int, char const*)", referenced from:
-[PacketCaptureDemo001Application applicationDidFinishLaunching:] in PacketCaptureDemo001Application.mm.4a9f2d30.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [obj/PacketCaptureDemo001.app/PacketCaptureDemo001.ba964c90.unsigned] Error 1
make[1]: *** [internal-application-all_] Error 2
make: *** [PacketCaptureDemo001.all.application.variables] Error 2
mt_vqmon_init(int, char const*) 和 mt_vqmon_run() 在dylib中定义,Makefile中已经添加了对dylib的链接:
VideoMonitor_LDFLAGS = -lmt
并且包含了armv7s架构:
这个简单工程的目录结构如附件图:
试了一下用纯C在theos下面写了一个dylib,出现同样的问题。 求教大神,究竟是怎么回事?不胜感激