将以下代码作为test.cpp,
使用clang++ -c test.cpp -o test.o -g; clang++ test.o -g -all_load
构建,在return a.getValue();
设置断点并尝试从lldb p a.getValue()
开始:
在unix上运行llvm 3.8.0 - 效果很好
在OSX上运行xcode或llvm 8.1.0 - 我收到以下错误:
error: Couldn't lookup symbols:
__ZNK4Test7MyClassILi2ELi3EE8getValueEv
两个有趣的事实:
clang++ test.cpp
)=一切顺利任何人都知道发生了什么,以及如何解决?
namespace Test{
template<class T>
class BLA{
public:
T getBlaValue() const{return 3;}
};
template <int N1, int N2, template<class T>class Impl = BLA>
class MyClass {
private:
public:
__attribute__((used))
int getValue() const
{
return 3;
}
};
}
int main()
{
Test::MyClass<2, 3> a;
return a.getValue();
}