【发布时间】:2015-02-07 18:30:09
【问题描述】:
我的电脑是 x64bit,所以在设置库和头文件时,我会通过 opencv/build/x64/.. 目录
它会说存在构建错误并在终端中输出以下内容
错误 1 错误 LNK1112:模块机器类型 'x64' 与目标机器类型 'X86' 冲突 C:\Users\koda\Desktop\FacialDetection\ConsoleApplication2\ConsoleApplication2\opencv_highgui2410.lib(opencv_highgui2410.dll) ConsoleApplication2
我因此将所有设置更改为 opencv/build/x86/.. 并没有在代码中出现错误
尝试调试时,出现一个窗口,提示无法启动程序,因为计算机中缺少“opencv_highgui2410.dll”。我保证在导入在 PropertySheet_Release 和 _Debug > Linker>Input
中导入的 .lib 文件时我正在导入此文件在 IDE 的终端中,我收到以下错误消息“ConsoleApplication2.exe”(Win32):已加载“C:\Windows\SysWOW64\ntdll.dll”。无法找到或打开 PDB 文件。 “ConsoleApplication2.exe”(Win32):已加载“C:\Windows\SysWOW64\kernel32.dll”。无法找到或打开 PDB 文件。 “ConsoleApplication2.exe”(Win32):已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法找到或打开 PDB 文件。程序“[7084] ConsoleApplication2.exe”已退出,代码为 -1073741515 (0xc0000135)“未找到依赖的 dll”。
但是在目录中我找到了那些文件..
我应该怎么做才能让代码正常工作?
提前感谢您的帮助:)
【问题讨论】:
-
我应该怎么做才能让代码正常工作? 确保你有正确的库和二进制文件,用于你想要定位的编译器和配置你的申请。不要混合调试和发布。不要混合使用 32 位和 64 位。不要使用其他版本的 Visual Studio 中的库或 dll。请记住,Visual Studio 2013 是 vc12(不是 vc13)。
-
感谢您的回复。我不知道visual studio 13是vc 12!不混合调试和发布是什么意思?在设置第一个和后者时,我总是放置相同的文件。有错吗?
-
不混合调试和发布是什么意思? 不要将调试库/dll用于发布应用程序或发布库用于调试应用程序.在 opencv 中,调试库和 dll 在 .lib 和 .dll 之前会有一个 d。不会发布。
标签: c++ debugging opencv visual-studio-2013 settings