假设我有一个共享库libSomething.so和头文件something.h。该库是交叉编译和测试的(或者更好的是,直接在目标平台上编译,与示例应用程序链接和测试)。现在,我想在另一个大型项目中使用此共享库,在该项目中Eclipse交叉编译所有文件,然后将可执行文件发送到目标。(不幸的是,不可能直接在目标上编译该项目)。目的是在SDSoC *(基于Eclipse的Vivado程序)上使用相同的共享库。去做这个:右键单击应用程序->属性-> C / C ++构建->设置->工具设置-> SDS ++链接器->库库搜索路径(-L)->添加->“路径/到/库”库(-l)->添加->“ libSomething”(我也尝试过“ libSomething.so”,但效果相同)。控制台显示cannot find -llibSomething。完整的行是:/opt/Xilinx/SDK/2017.4/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find -llibSomething另外,我尝试在C / C ++常规->代码分析->路径和符号->库和库路径中添加文件夹和库。结果是一样的。另外,我已经遍历了控制台消息,并且验证了sds ++编译器调用是正确的:sds++ -L/path/to/library --remote_ip_cache ......即使在Makefile中,该指令也是正确的。我不能面对这个问题。我究竟做错了什么?在帖子末尾,问题是:如何在SDSoC中使用(链接)共享库?SDSoC是xilinx开发的程序。更多信息 在这里。我也曾在xilinx论坛上发布了类似的问题, 到目前为止还没有答案。
1 回答
- 1 回答
- 0 关注
- 324 浏览
添加回答
举报
0/150
提交
取消