0

我有一个静态库libTheLib.a(由其他人编译)。我正在尝试将它与我的程序联系起来。此库链接所需的功能之一是GetName. 我的项目中有一个函数void GetName(char*, int),但链接器仍在抱怨找不到符号。我猜也许 lib 正在寻找具有不同签名的函数。我尝试使用nm希望它会揭示到底在寻找什么,但它所说的只是

         U _GetName

这不是很有帮助。还有其他方法可以找到它正在寻找的符号的签名吗?或者签名不是符号的一部分,它实际上可以链接到该名称的任何符号?

该库是写在C,我的程序是写的C++,但是函数声明为

extern "C" GetName(char* c, int i) {...}

此外,如果它有所作为(使用 XCode) ,这是使用clang,而不是gcc

4

1 回答 1

0

1)您确定函数名称和签名正确吗?

2) 为什么

extern "C" GetName(char* c, int i) {...}

代替

extern "C" GetName(char* c, int i);

?

于 2013-07-22T08:52:01.173 回答