gpt4 book ai didi

c++ - 在 Visual C++ 中将 win32 .lib 与 x64 项目一起使用

转载 作者:行者123 更新时间:2023-11-28 02:29:35 30 4
gpt4 key购买 nike

我有一个 C++ 库(已下载 here)。在库中,有一些“.h”头文件、包含代码的“.cc”文件和两个包含在“win32”文件夹中的静态“.lib”。我在 Visual Studio 2012 C++ 中只做一个 x64 项目。

为了使用该库,我在属性页的“附加包含目录”中指定了 .h 文件的路径。在“其他库目录”中,我指定了包含两个“.lib”文件的文件夹的路径。在“附加依赖项”中,我输入了可以在“附加库目录”中找到的所有“.lib”文件的名称。在“调试”模式下,如果可用,我会使用库的调试版本。

在代码中,我添加了#include 以指示我想使用该库。我也使用其他库,但它们不会导致错误。

现在,我有一个

"LNK2019 unresolved external symbol "public: __cdecl cv:: ...etc" 

编译时出错。我想知道这是否可能是由于某些“.lib”可能是在 win32 而不是 x64 中编译的事实引起的。这可能是错误吗?

如果很明显我做错了什么,请提示我。我咨询过this question但我不太确定...

编辑:

这是编译器的输出:

1>------ Build started: Project: BRISK_opencv2, Configuration: Debug x64 ------
1> BRISK_opencv2.cpp
1>BRISK_opencv2.obj : error LNK2019: unresolved external symbol "public: __cdecl cv::BriskDescriptorExtractor::BriskDescriptorExtractor(bool,bool,float)" (??0BriskDescriptorExtractor@cv@@QEAA@_N0M@Z) referenced in function main
1>BRISK_opencv2.obj : error LNK2019: unresolved external symbol "public: __cdecl cv::BriskFeatureDetector::BriskFeatureDetector(int,int)" (??0BriskFeatureDetector@cv@@QEAA@HH@Z) referenced in function main
1>C:\...\x64\Debug\BRISK_opencv2.exe : fatal error LNK1120: 2 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

最佳答案

不能在同一进程中同时使用 32 位和 64 位代码。

链接器应该会告诉您它是否由于不兼容的体系结构而跳过了您指示它使用的输入文件。阅读所有链接器输出,而不仅仅是错误。

关于c++ - 在 Visual C++ 中将 win32 .lib 与 x64 项目一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29375882/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com