我正在编写一个取决于Poco c++ library的软件。我可以设法在Ubuntu和Windows上编译库,但只能作为静态库。这很好,因为我想静态地使用它。但是,当我尝试编译依赖于库的程序时,我得到类似于此的错误(自由翻译):
Poco/RegularExpression.h: No such file or directory.
但是,当我还明确告诉编译器在哪里查找带有-I开关的库头文件时,我得到了以下错误(但可能有20-30条相似的行):
Undefined reference to (pthread_mutex...)
我尝试过很多不同的组合,既可以直接使用g ++,也可以使用makefile。 我应该包括库的头文件的路径,还是我不知道怎么没有成功编译库? 如果我应该包含路径,我怎么能摆脱“未定义的引用”错误?
我对c ++编程很新,所以请耐心等待。 谢谢,罗伯特
答案 0 :(得分:1)
这是非常常见的错误,我也经常遭受它的困扰。
答案 1 :(得分:1)
尝试使用-I
选项。在具有RegularExpression.h
作为依赖项的目标中,尝试包含包含上述头文件的目录,如下所示:
g++ -I/home/.../Poco <other options>