包括 headers 和 libiota

Including headers with libiota

我按照 the weave guide 中的说明构建了 libiota,并使用:

安装了它
make -j lib
sudo make install

这在 /usr/include/iota/.

中安装了 /usr/bin/libiota.a 和 header 文件

现在我正在尝试编译以下简单程序 (main.cc):

#include <iota/daemon.h>

int main(int argc, char** argv) {
  return 0;
}

与:g++ main.cc

我收到以下错误:

In file included from /usr/include/iota/daemon.h:28:0,
                 from main.cc:1:
/usr/include/iota/schema/traits/goog_device.h:27:58: fatal error: include/iota/schema/traits/goog_device_enums.h: Aucun fichier ou dossier de ce type
 #include "include/iota/schema/traits/goog_device_enums.h"
                                                          ^
compilation terminated.

显然 goog_device.h 包含一个与 /usr/ 相关的文件,而不是 /usr/include...

我对库的使用有问题吗?包含 header 个文件的推荐方法是什么?

我正在使用 2017 年 2 月 2 日提交的 b53901b6cc516941f1432da030eb3c76c213fbea。

这似乎是我们包含 headers 的方式中的一个问题。我们将在未来的版本中修复此问题。您能否在您的应用程序 make-file 中添加一个指向 -I/usr/ 的包含路径作为目前的解决方法?

谢谢 巴斯卡