【发布时间】:2015-04-21 18:09:51
【问题描述】:
我已经使用 sudo make 和 sudo make install 在我的 ubuntu 系统上成功安装了 Open-zwave。在此之后,我想编译这个包中的示例(进入 cpp/example 并执行“make”),但在此之后他向我展示了许多他没有找到的函数。这位于头文件中。头文件包含在主文件中,我没有通过自动创建的 makefile 进行任何更改。有人有同样的问题吗? 以下是错误示例:
/home/ubuntu/OPENZWAVE/install/open-zwave-master/cpp/examples/MinOZW/.lib/Main.o:在函数main':
Main.cpp:(.text.startup+0x7a): undefined reference toOpenZWave::Manager::getVersionAsString()'
Main.cpp:(.text.startup+0x108): undefined reference to `OpenZWave::Options::Create(std::string const&, std::string const&, std::string const&)'
而且还有很多这样的函数遗漏了,它们在头文件中(编译器发现...)
我用 eclipse 和终端编译了这个例子……是一样的。
我希望有人能提供帮助。我对编写自己的 Makefile 了解不多。如果需要,我可以将生成的 makefile 复制到这里。 谢谢你的帮助。
【问题讨论】:
-
嗨,我自己发现了问题。1。标头仅在一个带有“HEADER”的文件夹中搜索,但如果我使用
并将路径写入 eclipse 中的 includepath 中,他会找到所有。 2.编译器错过了openzwave的链接器以及在哪里可以找到lib。这就是问题所在,为什么他找不到标题中的每个函数。 -
您找到解决方案了吗?
标签: c++ ubuntu makefile z-wave