undefined reference to ‘xxx’函数
1 | #情况1,库链接顺序不正确导致,明显特征是报错的函数是我们自己实现的函数,而不是底层函数 |
**原因是库文件找不到,**排查方向:
确保不是因为函数没有实现导致的
确保target_link_libraries函数设置的要链接的对象
<target>确保库链接顺序正确,需要在target_link_libraries修改摆放位置,左边库的依赖右边库
例如,A库中用到了B库中的函数,这时就是A库依赖于B库,A库应该在左边,B库在A库右边,如果B库在A库左边,就会报undefined reference to 错误,而且有个明显特征是报错的函数是我们自己实现的函数,而不是底层函数
确保在target_link_libraries已经添加了导入库
确保target_link_libraries的lib库或dll.a导入库文件能被找到,使用绝对路径试试
确保dll或so动态库文件能找到,试试添加到环境变量或添加到build目录下(与exe文件同级目录)