我正在尝试从源代码Qpid Messaging API(C++, bindings
)构建。
在RHEL
上触发构建,并且安装了以下链接中提到的所有先决条件。
https://git-wip-us.apache.org/repos/asf?p=qpid-cpp.git;a=blob_plain;f=INSTALL.txt;hb=HEAD
当达到步骤时:全部
我得到的是这个
错误:
Linking CXX shared library libqpidclient.so
[ 86%] Built target qpidclient
Scanning dependencies of target qpidmessaging
[ 86%] Building CXX object src/CMakeFiles/qpidmessaging.dir/qpid/messaging/amqp/AddressHelper.cpp.o
In file included from /home/m020390/qpid_cpp/qpid-cpp-1.37.0/src/qpid/messaging/amqp/AddressHelper.cpp:22:0:
/home/m020390/qpid_cpp/qpid-cpp-1.37.0/src/qpid/messaging/amqp/PnData.h:27:27: fatal error: proton/engine.h: No such file or directory
#include <proton/engine.h>
^
compilation terminated.
make[3]: *** [src/CMakeFiles/qpidmessaging.dir/qpid/messaging/amqp/AddressHelper.cpp.o] Error 1
make[2]: *** [src/CMakeFiles/qpidmessaging.dir/all] Error 2
make[1]: *** [examples/messaging/CMakeFiles/client.dir/rule] Error 2
make: *** [client] Error 2
表示&#34; Qpid proton-c
&#34;可能会丢失,但已安装......
任何想法?
答案 0 :(得分:1)
使用这些步骤对我有用。
$ wget http://apache.claz.org/qpid/proton/0.18.1/qpid-proton-0.18.1.tar.gz
$ tar -xf qpid-proton-0.18.1.tar.gz
$ cd qpid-proton-0.18.1/
$ mkdir bld
$ cd bld
$ cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/testprefix
$ make -j8
$ make install
$ cd ../..
$ wget http://apache.claz.org/qpid/cpp/1.37.0/qpid-cpp-1.37.0.tar.gz
$ tar -xf qpid-cpp-1.37.0.tar.gz
$ cd qpid-cpp-1.37.0/
$ mkdir bld
$ cd bld
$ cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/testprefix
>>>> Here check for "Found Proton" in the cmake output <<<<
$ make -j8
$ make install
检查proton / engine.h是否符合您的想法。在您的情况下,它看起来像是/usr/local/include/proton/engine.h。
您可以使用以下命令查看包含搜索路径的内容。
cpp -v /dev/null -o /dev/null
答案 1 :(得分:0)
如在INSTALL文件中所述,您提供了以下链接:
注意:如果Proton安装在非标准位置,则有两个 找到它的方法:
- 推荐:使用质子0.7或更高版本,并为Proton和Qpid使用相同的安装前缀。
- 使用pkg-config:在运行cmake之前将PKG_CONFIG_PATH环境变量设置为/ lib [64] / pkgconfig。
醇>
我会选择方法1并重建Proton,为cmake指定一个安装前缀,这样:
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
然后对Qpid使用相同的前缀(即再次运行cmake,就像上面一样)。