我正在编写一个库,我正在使用其中的另一个库(链接它)。我有一些共享方法,例如一个'比较'。当我使用
在标题中声明和定义这个比较方法时 bool Compare(std::string s1, std::string s2, bool ignoreCase)
然后使用
在.cpp文件中 bool Compare(std::string s1, std::string s2,
bool ignoreCase){...}
此.cpp文件还包含相应的头文件。但是,在测试我的库时,我得到了:
./main: symbol lookup error: /..path to .so file/libmylibrary.so.0: undefined symbol: _Z7CompareSsSsb
错误。
我尝试使用
在头文件中声明和定义inline bool Compare(std::string s1, std::string s2, bool ignoreCase){...}`,
编译,然后在我测试时工作正常。我也曾在automake期间使用make clean几次,但我仍然遇到同样的错误。
非常感谢任何提示或建议。