3

我在 Visual Studio 的一个解决方案中有两个项目。一个项目(应用程序)依赖于另一个(库)。该库有一个方法:

int foo(_TCHAR*);

它在标题中正确定义并实现。在应用程序中,我调用这样的方法:

int bar(_TCHAR* str) {
  return foo(str);
}

我得到的错误是

错误 LNK2001:未解析的外部符号“public:int __cdecl foo(char *)”

方法签名完全相同,并且使用了相同类型的变量。

4

1 回答 1

7

链接器无法匹配方法的原因是项目页面中的不匹配Character Set选项。General Properties

库项目将此选项设置为Use Unicode Character Set,应用程序设置为Use Multi-Byte Character Set.

统一两个项目中的字符集修复了这个错误。

于 2013-08-12T09:04:08.600 回答