[在使用组件(https://redhawksdr.github.io/2.2.5/manual/shared-libraries/using-a-shared-library-project/)中的共享库的过程中,当您遍历REDHAWK 2.2.5教程(RH noob)时,我遇到了以下错误:
...
checking for ossie home... /usr/local/redhawk/core
checking to see ossie is installed... checking for sdr root... /var/redhawk/sdr
configure: using /var/redhawk/sdr/ as installation prefix
checking whether make supports nested variables... (cached) yes
checking for PROJECTDEPS... yes
checking for sdr root... (cached) /var/redhawk/sdr
configure: error: Package rh.dsp was not found in the pkg-config search path.
Perhaps you should add the directory containing `rh.dsp.pc'
to the PKG_CONFIG_PATH environment variable
No package 'rh.dsp' found
make: *** No rule to make target `all'. Stop.
checking for C++ soft package library rh.dsp...
12:36:58 Build Failed. 1 errors, 0 warnings. (took 18s.558ms)
我根据https://redhawksdr.github.io/2.2.5/manual/components/hello-world-component/创建了HelloWorld组件(没有端口,BTW),并试图添加IDE的REDHAWK资源管理器中“共享库/ dsp”下所示的Soft Pkg Ref库“ dsp”。在HelloWorld组件上“生成所有实现”之后,出现上述构建失败。我试图通过
编辑configure.am文件export PKG_CONFIG_PATH=$SDRROOT/dom/deps/rh/dsp:$PKG_CONFIG_PATH
...但无济于事。我查看了REDHAWK随附的示例组件(在资源管理器中的“ Target SDR / Components / rh”下,例如“ autocorrelate”),以了解它是如何在REDHAWK中完成的。我看到的一个区别是,对autocorrelate的Soft Pkg Ref依赖项后面有一个“(cpp)”,而我的则没有,即autocorrelate看起来像:“ Soft Pkg Ref:/deps/rh/dsp/dsp.spd.xml( cpp)“。
作为第一个调用端口,您应该检查HelloWorld.spd.xml文件的内容。在其中,您应该看到<implementation id="cpp">
部分,其中应包含:
<dependency type="runtime_requirements">
<softpkgref>
<localfile name="/deps/rh/dsp/dsp.spd.xml"/>
<implref refid="cpp"/>
</softpkgref>
</dependency>
可以在here中找到FastFilter组件的示例(请参阅第39和51行。