C++ 第三方API中的编译错误-Visual Studio

C++ 第三方API中的编译错误-Visual Studio,c++,visual-studio,compiler-errors,codeblocks,C++,Visual Studio,Compiler Errors,Codeblocks,我尝试使用一些散列API,但它给出了编译错误。我尝试了两种不同的散列API和两种不同的IDE以及编译器,但它给出了相同的错误。看起来像是链接器错误。通常存在“未解析外部”或“未定义到”编译错误。如何修复编译错误 test.cpp: LNK1120 - unresolved externals LNK2019 - unresolved external symbol _XXH64 referenced in function _main #包括 #包括 #包括“xxHash-0.

我尝试使用一些散列API,但它给出了编译错误。我尝试了两种不同的散列API和两种不同的IDE以及编译器,但它给出了相同的错误。看起来像是链接器错误。通常存在“未解析外部”或“未定义到”编译错误。如何修复编译错误

test.cpp:

LNK1120 -   unresolved externals    
LNK2019 -   unresolved external symbol _XXH64 referenced in function _main
#包括
#包括
#包括“xxHash-0.7.4/xxHash.h”
int main()
{
常量字符测试[]=“srgsdf”;
XXH64_hash_t seed=545244;
XXH64_hash_t test_xxhash=XXH64(test,strlen(test),seed);

std::cout一个可能的原因是您的项目在其要编译的源文件列表中缺少
xxhash.c
。每个
*.c
文件都成为一个对象文件,在最后一个阶段链接。因此,如果没有它,就永远不会创建
xxhash.c
中定义的符号


解决此问题的另一种方法是在包含“xxhash.h”之前定义XXH\u INLINE\u ALL
。这将内联代码,就像它出现在本地源文件中一样,因此,它不需要链接到另一个目标文件。内联对小数据的性能也有好处,但会增加二进制大小。

一个可能的原因是您的项目在要编译的源文件列表中缺少
xxhash.c
。每个
*.c
文件都成为一个对象文件,在最后一个阶段被链接。因此,如果没有它,就不会创建
xxhash.c
中定义的符号


解决此问题的另一种方法是在包含“xxhash.h”之前定义XXH\u INLINE\u ALL。这将内联代码,就像它出现在本地源文件中一样,因此,它不需要链接到另一个对象文件。内联也有助于提高小数据的性能,但会增加二进制大小。

我没有接触链接器设置。所有设置都来自默认设置。欢迎使用SO!请共享代码剪贴pet而不是屏幕截图。您可以在此处阅读更多信息。我添加了代码。我没有触摸链接器设置。所有设置都来自默认设置。欢迎使用SO!请共享代码片段而不是屏幕截图。您可以在此处阅读更多信息。我添加了代码。