`

VC编译与链接的两个常见错误的解决

 
阅读更多

以openCV的使用为例,并结合个实验经验,总结一下在使用其它库进行编程时VC环境下编译与链接时经常遇到的两个错误的解决办法.

1.编译错误

问题描述:编译时,出现编译如下编译错误:

fatal error C1083: Cannot open include file: 'cv.h': No such file or directory

意思是找不到语句 #include "cv.h" 的cv.h头文件.

解 决办法:在工程环境下,Tools->Options->Directories,在页内Show directories for下拉列表框中选择 Include files,然后在Directories列表框中添加上cv.h的路径,如:D:\OPENCV\CV\INCLUDE,再编译就能找到cv.h头文件 了.

2.链接错误

问题描述:链接时出现如下错误:

Linking...

test.obj : error LNK2001: unresolved external symbol _cvCanny

Debug/cvtest.exe : fatal error LNK1120: 1 unresolved externals

解决办法: 明 明知道cvCanny函数(_cvCanny是纯C编译生成的目标文件的函数名)的原型说明在文件cv.h中,怎么又出现链接错误呢,可能是静态链接库的 问题(可能还有其它的原因),然后有两各解决办法:(1).通过project->Add to project->Files, 将cv.lib加到工程中(2).①Tools->Options->Directories,Show directories for下拉列表框中选择 Library files,然后在Directories列表框中添加上cv.lib的路径,如:D:\OPENCV\LIB ② project->settings下的LINK属性页下,在Object/Library modules 的文本框中加上 cv.lib 后,点击确定.此时链接通过.

仅为个人的实验经验,有可能不全面或错误 .

分享到:
评论

相关推荐

    最常见的16种VC编译错误

    本文将详细解析最常见的16种VC编译错误,并提供相应的解决策略。 1. **未定义标识符**:当编译器找不到声明的变量、函数或类时,会抛出此错误。这通常是由于拼写错误、忘记包含头文件或未声明变量导致的。解决方法...

    VC6中MFC常见编译错误

    以下将详细介绍标题和描述中提到的两个常见错误及其解决办法。 首先,我们来看“Fatal Error C1010”。这个错误提示表示在编译器寻找预编译头文件指令时遇到了文件的意外结束。通常,当设置了参数/Yu"stdafx.h"时,...

    常见的vc编译错误

    ### 常见的VC编译错误解析 在VC++编程过程中,遇到各种编译错误...以上是对文中文档提到的常见VC编译错误的详细解析及解决方案。理解并解决这些错误有助于提高编程效率,减少调试时间。希望这些信息能对读者有所帮助。

    openssl0.9.8 vc可编译代码

    描述中提到的 "使用VS2008建立VC工程编译openssl的两个重要库",指的是动态链接库(.dll)和静态链接库(.lib)。动态链接库在运行时加载到内存,而静态链接库则在编译时将代码合并到最终的可执行文件中。对于开发和...

    VC6.0到VS2017编译报错解决办法.docx

    #### 二、编译错误解析与解决 ##### 2.1 错误分析 在文档的部分内容中提到了两个具体的编译错误,这两个错误都涉及到类型转换失败的问题,具体如下: 1. `cjpagerctrl.cpp(75):errorC2440:“static_cast”:无法从...

    VC6.0常见编译错误提示附解决方法

    这个错误是因为在代码中连续使用了两个单引号但中间没有字符。要修正这个问题,确保字符常量之间至少有一个字符,或去掉其中一个单引号。 4. **错误 C2018: unknown character '0x##'** 编译器遇到了无法识别的16...

    vc9、vc11运行库32

    标题中的"vc9、vc11运行库32"指的是微软Visual C++运行库的两个特定版本,适用于32位操作系统。Visual C++是微软开发的一款集成开发环境,用于创建C++应用程序。运行库是这些应用程序运行所必需的组件,包含了一些预...

    vc++编译错误信息

    当你在一个类中定义了两个同名的成员函数,但它们的参数列表不同,即进行了函数重载时,会收到此提示。 - **确认函数重载**。确保你的重载是故意为之,并且每个版本都有明确的用途。 - **避免不必要的重载**。有时候...

    VC环境

    首先,我们需要理解编译和连接这两个概念。编译是将源代码转换成机器可理解的目标代码的过程,而连接则是将多个目标文件合并成一个可执行文件,解决外部引用和库依赖。在多文件项目中,每个文件可能包含不同的类定义...

    VC命令行编译C++.docx

    例如,`cl /MT main.cpp /LD submain.cpp`意味着/MT和/LD这两个选项同时对这两个文件生效。 在编译器cl.exe的参数(options)中,有一些过期选项在VS2005之后的版本可能被删除。以下是一些常见的优化选项: 1. `/O1`...

    VC7工程转换回VC6

    本话题主要关注如何将VC7工程转换回VC6,这是一个常见的需求,因为有些开发者可能需要在旧版本的环境中维护或继续开发已有的项目。 首先,VC7指的是Visual Studio .NET 2003,它引入了对.NET Framework的支持,而VC...

    经典VC期刊(C与VC及常见编程问题)

    本期刊聚焦于这两个领域的经典问题,旨在帮助程序员提升编程技能,解决实际开发中遇到的常见问题。 C语言,作为基础的系统编程语言,以其简洁、高效而被广泛使用。在C语言中,我们关注的重点包括内存管理、指针操作...

    使用LUA VC6.0 VC++ (如何通过编译)

    本文将详细探讨如何在VC6.0环境下配置LUA环境,并解决常见的编译错误。 #### 一、LUA简介 LUA是一种开源的脚本语言,设计简洁高效,特别适合于嵌入式系统。它被广泛应用于游戏开发、应用程序扩展以及快速原型制作...

    VC6到VS2010迁移所有问题的解决方法

    1. **修改函数参数类型:** 首先,需要修改这两个函数的参数类型。例如,将`OnPagerScroll`的参数类型从`NMPGSCROLL*`修改为`NMHDR*`。 ```cpp BOOL CCJPagerCtrl::OnPagerScroll(NMHDR* pNMPGScroll, LRESULT* ...

    Win7下VC6打开文件报错导致其崩溃的解决办法

    在Windows 7操作系统上使用Visual C++ 6.0(简称VC6)时,可能会遇到一个常见的问题:当尝试打开文件或项目时,VC6会突然崩溃,并提示错误信息。这一问题对开发者来说非常困扰,因为VC6是一款广泛使用的编程工具,...

    vc 连接mysql简单应用

    首先,我们需要了解两个关键组件:MySQL C API(应用程序编程接口)和MySQL Connector/C。MySQL C API是MySQL提供的一套函数库,允许开发者用C或C++编写与MySQL服务器通信的程序。而MySQL Connector/C是MySQL提供的...

    编译原理算符优先分析VC

    算符优先分析是编译原理中的一个重要概念,用于解决程序中运算符的优先级和结合性问题。本篇文章将深入探讨算符优先分析,并结合VC(Visual C++)环境,讲解如何利用这种分析方法进行编译器设计和实现。 首先,我们...

    VC6.0下连接数据库与套接字相关的例子,网络商店

    在VC6.0环境下开发应用程序时,连接数据库和使用套接字是常见的需求,尤其是在构建网络应用,如网络商店这样的项目中。这个例子提供了一个很好的起点,帮助初学者理解这两个重要概念。 首先,我们来详细讲解一下...

    exiv2静态编译

    在提供的压缩包文件中,`debug`和`release`两个目录很可能包含了编译好的静态库文件(libexiv2.lib和libexiv2d.lib)以及可能需要的其他支持文件,例如头文件。将这些文件添加到你的Qt或VC项目中,按照Exiv2的API...

    curl-7.33.0_VC2010编译附加curlpp

    在IT行业中,构建和编译开源库是开发者日常工作中常见的一部分。本教程将详细解析如何在Visual Studio 2010 SP1环境下,为32位系统编译curl-7.33.0版本,同时结合curlpp-0.7.3库,以确保支持debug和release两种模式...

Global site tag (gtag.js) - Google Analytics