我将 j2objc 导入到我的项目中,但我仍然收到类似Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_Test
(java源代码中的public class Test
)的错误。我发现了一些关于将静态库链接到项目(libjre_emul.a
)的错误。我发现可能的官方解决方案添加到其他链接标记标记"-l jre_emul"
。
问题是我收到错误ld: library not found for -l jre_emul
这是什么意思?我该如何解决这个问题?
我尝试了扩展命令:
"-l jre_emul -ObjC -force_load ${PROJECT_DIR}/lib/libjre_emul.a"
找不到错误库仍然存在。有什么想法吗?
感谢。
答案 0 :(得分:1)
我认为您的other linker flags
中存在拼写错误。尝试使用类似的东西:
-l"jre_emul"
答案 1 :(得分:0)
不再需要-force_load标志。问题是链接器找不到库,因为它的路径没有在你的项目中定义(它可能不在$ {PROJECT_DIR} / lib中,除非你明确地把它放在那里)。 Update the Build Settings wiki部分介绍了如何将J2ObjC分发路径添加到项目的“库搜索路径”构建设置中。