编程技术记录

世界你好!

默认情况下,构建动态库时遇到undefinded symbol会构建失败。但有时候,这些undefinded symbol在运行时是存在的(如host app中、其他动态库中),这时可以添加链接参数,让xcode忽略undefinded symbol。

忽略所有undefinded symbol

省事,但不推荐。

在 other link flags 中添加下面参数即可

-undefined dynamic_lookup

忽略指定undefined symbol

可以精确控制 在 other link flags 中添加下面参数

# 有几个需要忽略的符号,就添加几行
-Wl,-U,symbol_nameA
-Wl,-U,symbol_nameB
-Wl,-U,symbol_nameC
...

其他注意事项

通过上述方法忽略的undefinded symbol,在运行时会在 flat namespace中查找对应的符号

发表回复

© Beli. All Rights Reserved.