链接器

HalconMFC(二)之VS2010下配置Halcon11教程

纵饮孤独 提交于 2020-04-06 01:41:40
现在halcon最新版本是halcon11.0.3,所以在此说说halcon11.0.3的配置方法(至今还不知道halcon11怎么破解。。。halcon10早都可以破解了) 我们可以把相应的文件(头文件、函数库文件)都放到程序Debug文件夹下,这样即使不配置Halcon的VS编程环境,也可以进行编译和执行。 项目属性设置 项目->属性->配置管理器->平台(win32下拉列表)—>新建->x64(最好是先改成x64然后再去配置VC++目录和链接器,因为在win32下配置后到了x64里面又要重新配置) 项目——属性——配置管理器——平台(Win32)下拉列表——新建——x64 C++——包含目录中添加 C:\Program Files\MVTec\HALCON-11.0\include\halconcpp; C:\Program Files\MVTec\HALCON-11.0\include;$(IncludePath) 在链接器——常规——附加库目录——添加lib路径 C:\Program Files\MVTec\HALCON-11.0\lib\x64-win64;%(AdditionalLibraryDirectories) 在链接器——输入——附加依赖项——添加HalconCpp.lib 最后生成解决方案 来源: https://www.cnblogs.com

Linux内核分析作业第七周

岁酱吖の 提交于 2020-03-28 22:32:45
一、 预处理、编译、链接 gcc hello.c -o hello. gcc编译源代码生成最终可执行的二进制程序,GCC后台隐含执行了四个阶段步骤。 预处理 → 编译 → 汇编 → 链接 预处理:编译器将C源代码中包含的头文件编译进来和执行宏替换等工作。 gcc -E hello.c -o hello.i   编译:gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc把代码翻译成汇编语言。 gcc –S hello.i –o hello.s-S:该选项只进行编译而不进行汇编,生成汇编代码。   汇编:把编译阶段生成的 .s文件 转成二进制目标代码. gcc –c hello.s –o hello.o   链接:将编译输出 .o文件 链接成最终的可执行文件。 gcc hello.o –o hello   运行:若链接没有-o指明,则生成可执行文件默认为 a.out ./hello 二、可执行文件    1、在windows环境下,只要双击一个.exe的文件就可以执行一个程序,这个以.exe结尾的文件就是一个可执行文件。在andriod系统下,一个.apk的文件就是一个可执行文件,在linux系统下,可执行文件在linux环境下并没有什么特殊的后缀标记,只是在生成该文件时,它的属性设置了可执行(就是‘x’),那么他就是属于可执行文件。   2

opencv3.0+vs2013安装记录

那年仲夏 提交于 2020-03-13 00:32:59
为了能够更好的学习图像,我觉得opencv是一个必不可少的库,因此在以后的研究上使用opencv作为研究工具,与大家共同进步。 话归正题:先搭建opencv的环境。 1、下载安装包3.0 a,官网打开稍慢,但也不是像有些网站完全打不开,稍等即可。然后点击下载。(http://opencv.org/) b,当然不能等的话,那就从这里进去~直接下载。(官网的最后也是从这下载的)http://sourceforge.net/projects/opencvlibrary/files/ c,选择win 3.0 d,下载 2、解压3.0安装包 a,选择一个目录进行解压即可 3、进行环境变量设置 a,右键我的电脑,点击属性,点击高级系统设置,选择环境变量 b,在用户变量和系统变量最好都设置下   b1、新建->输入变量名:OPENCV->输入变量值:E:\opencv\build(注:这是你解压的地址)   b2、选择Path(注:若没有则点击新建)在最后添加变量值(注:可以按一下end键快速定位到末尾):%OPENCV%\x86\vc12\bin(注:一般在你输入这个之前,看下前面有;没,没有你需要输入;%OPENCV%\x86\vc12\bin) c,环境变量设置完毕 4、打开vs2013 a,创建一个win32空项目 b,打开属性管理器,视图->其他窗口->属性管理器 c

计算机视觉初学笔记:环境搭建

天涯浪子 提交于 2020-03-09 05:01:34
前言 首先要理解一些概念:opencv opencl opengl openmp cuda 这里我们要opencv、opencl、openmp、cuda的环境配置 电脑配置:win10,显卡NVIDIA10.0,VS2019 1、opencv环境配置 1)网上下载opencv-4.2.0,在电脑上选好目录安装。比如我安装在 E:\Program\opencv\opencv 2)进行环境变量的配置,如我上面的目录对应在path中新建 E:\Program\opencv\opencv\build\x64\vc15\bin 3)当在vs上敲代码是需要用到 opencv相关的函数或者接口时,进行vs环境设置:   右键--属性,   C/C++ --附加包含目录 -- E:\Program\opencv\opencv\build\include E:\Program\opencv\opencv\build\include\opencv2   链接器--常规--附加库目录-- E:\Program\opencv\opencv\build\x64\vc15\lib   链接器--输入--附加依赖项-- opencv_**420d.lib (这里**写涉及到需要用的opencv的库) 2、opencl环境配置 1)下载 AMD-APP-SDK-v2.9-Windows-64,记下安装的位置

x86汇编语言简介

你离开我真会死。 提交于 2020-03-07 23:18:26
汇编语言是最古老的编程语言,它是所有语言中最接近原生机器语言的。它拥有直接访问计算机硬件的特权。 汇编器和链接器 汇编器是一种工具程序,用于将汇编语言符号转换成机器语言的“0101”二进制。链接器同样也是工具程序,通过链接器把汇编器生成的单个文件组成一个可执行程序。 汇编语言与高级语言的区别 首先我们要知道机器语言是一种数字语言,处理器被设计成可以专门计算这些数字语言的结构。但是要我们人去识别这些数字是很难的,所以需要一些好记的符号代表这些数字语言的含义。机器语言和汇编语言是一一对应的:每条汇编指令对应一条机器语言指令。 高级语言和汇编语言是一对多的关系,比如我们常见的一条赋值语句就需要要多条汇编语言来组成实现。 汇编语言是不可移植的 一种语言可以在不同的的计算机操作系统中编译运行,我们就称为这种语言是可移植的。我们最常见的C++和Java等高级语言就是可移植的,只要满足一定的条件它们几乎可以在任何计算机下运行。 汇编语言却是不可移植的,因为这种语言是专门为一种处理器架构所设计的。目前广为人知的不同种类的汇编语言,每一种都是基于一种处理器系列。汇编语言指令会直接与该计算机体系结构进行匹配,或者在执行使用一种被称为伪代码解释器的处理器内置程序来进行转换。 学习汇编语言可以干什么 1)编写嵌入式程序。嵌入式程序是指一些存放在专用设备中小容量存储器内的端程序,例如:电话

LNK4098: 默认库“MSVCRT”与其他库的使用冲突

有些话、适合烂在心里 提交于 2020-03-01 06:08:41
LNK4098: 默认库“MSVCRT”与其他库的使用冲突 修改的方法:在项目属性中,在连接器-输入选项中,在忽略特定库中添加相应的库,具体添加那些苦请参照下面的表格。 下面的内容为转载,原文链接: http://blog.163.com/ckzdy_qc/blog/static/5997161200752334518906/ 默认库“library”与其他库的使用冲突;使用 /NODEFAULTLIB:library 您试图与不兼容的库链接。 注意 运行时库现在包含可防止混合不同类型的指令。如果试图在同一个程序中使用不同类型的运行时库或使用调试和非调试版本的运行时库,则将收到此警告。例如,如果编译一个文件以使用一种运行时库,而编译另一个文件以使用另一种运行时库(例如单线程运行时库对多线程运行时库),并试图链接它们,则将得到此警告。应将所有源文件编译为使用同一个运行时库。有关更多信息,请参见 使用运行时库 (/MD、/ML、/MT、/LD)编译器选项。 可以使用链接器的 /VERBOSE:LIB 开关来确定链接器搜索的库。如果收到 LNK4098,并想创建使用如单线程、非调试运行时库的可执行文件,请使用 /VERBOSE:LIB 选项确定链接器搜索的库。链接器作为搜索的库输出的应是 LIBC.lib,而非 LIBCMT.lib、MSVCRT.lib、LIBCD.lib

[内核编程] visual studio 2010配置驱动开发环境

一曲冷凌霜 提交于 2020-02-29 05:25:28
visual studio 2010 配置驱动开发环境 ** 工具/材料 VS2010、WDK开发包 ** 配置过程 以下将讲述VS2010驱动开发环境的配置过程,至于必要软件的安装过程这里不再赘述。 (1)新建VS控制台项目,选择【空项目】,如下图所示 (2)右键点击“源文件”,如下图所示添加.cpp源文件。 (3)在“解决方案资源管理器”中右键点击项目“DriverTest”,在弹出的菜单中选择“属性”,打开属性对话框。 (4)配置属性-常规 (4.1)配置属性-c/c++-常规(修改“附加包含目录”选项,如下图所示) (4.2)配置属性-c/c++-预处理器 (4.3)配置属性-c/c++-代码生成 (4.4)配置属性-c/c++-高级 (5)配置属性-链接器-常规 我们看到路径是…\WXP\i386,意思就是针对Windows XP系统和i386架构CPU,如果想编译其他系统,或者其他CPU的驱动,修改此路径即可。这里用的是绝对路径,也可以将WinDDK的安装路径配置在环境变量中,然后进行引用。 (5.1)配置属性-链接器-输入(修改“附加依赖项”,如下图所示) (5.2)配置属性-链接器-清单文件 (5.3)配置属性-链接器-系统 (5.4)配置属性-链接器-高级 到此,环境就配置完毕。打开.cpp文件完成代码的编写后,生成,即可在Debug文件夹里获取相应的.sys文件

C Primer Plus(第五版)1

筅森魡賤 提交于 2020-02-28 03:44:48
这是C Primer Plus(第五版)的第一章,上传上来主要是方便我进行做笔记,写注释,还有我会删掉一些“废话”等。 1.1 C语言的起源 贝尔实验室的 Dennis Ritchie 在1972年开发了C,当时他正在与Ken Thompson 一起设计 UNIX操作系统 。 1.4 计算机工作的基本原理 现代计算机可分为几个部件。中央处理单元(或称CPU)担负着绝大部分的计算工作,随机访问存储器(或称RAM)作为一个工作区来保存程序和文件;永久存储器,一般是硬盘,即使在计算机关机时也能记下程序和文件;还有各种外围设备(如键盘,鼠标和监视器)用来提供人与计算机之间的通信。CPU负责处理程序,所以我们集中来讨论它的功能。 CPU 的工作非常简单,至少在我们所做的这一简短的描述中是这样的。它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行,。一个千兆 CPU 可以在一秒种内进行大约一亿次这样的操作,所以 CPU 能以惊人的速度来从事其枯燥的工作。CPU 有自己的小工作区,该工作区由若干个寄存器(registers)组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU 使用该信息获取下一条指令。获取一条指令后,CPU 在另一个寄存器中保存该指令并将第一个寄存器的值更新为下一条指令的地址。CPU 只能理解有限的指令(指令集)。还有

toolchain

感情迁移 提交于 2020-02-08 18:55:06
什么是toolchain 为了生成可执行程序或者库文件,需要编译器链接器等开发工具,编译器将源代码编译为目标文件,链接器将目标文件,库文件链接成可执行文件。这些开发工具的集合称之为toolchain,包括预处理器,编译器,汇编器,链接器和调试器等。 GNU toolchain 用于开发GNU操作系统(Linux系统)上的可执行程序或库文件的工具链 ld - the GNU linker. as - the GNU assembler. gcc - the GNU compiler nm - Lists symbols from object files. readelf - Displays information from any ELF format object file. objdump - Displays information from object files. Ubuntu16.04 toolchain NDK toolchain 用于开发Android系统上的可执行程序或库文件的工具链 aarch64-linux-android-gcc aarch64-linux-android-g++ aarch64-linux-android-ar 库管理工具 aarch64-linux-android-as 汇编器 aarch64-linux-android-ld 链接器

LearnOpenGL-第一课:创建窗口

巧了我就是萌 提交于 2020-01-30 07:14:49
创建窗口 在我们画出出色的效果之前,首先要做的就是创建一个OpenGL上下文(Context)和一个用于显示的窗口。然而,这些操作在每个系统上都是不一样的,OpenGL有目的地从这些操作抽象(Abstract)出去。这意味着我们不得不自己处理创建窗口,定义OpenGL上下文以及处理用户输入。 幸运的是,有一些库已经提供了我们所需的功能,其中一部分是特别针对OpenGL的。这些库节省了我们书写操作系统相关代码的时间,提供给我们一个窗口和上下文用来渲染。最流行的几个库有GLUT,SDL,SFML和GLFW。在教程里我们将使用GLFW。 GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入,这正是我们需要的。本节和下一节的目标是建立GLFW环境,并保证它恰当地创建OpenGL上下文并显示窗口。这篇教程会一步步从获取、编译、链接GLFW库讲起。我们使用的是Microsoft Visual Studio 2015 IDE(操作过程在新版的Visual Studio都是相同的)。如果你用的不是Visual Studio(或者用的是它的旧版本)请不要担心,大多数IDE上的操作都是类似的。 构建GLFW GLFW可以从它官方网站的 下载页 上获取。GLFW已经有针对Visual Studio 2013