导航:首页 > 源码编译 > vs编译x64

vs编译x64

发布时间:2023-05-12 22:31:59

⑴ WIN7 64位系统,VS2010 x64中PCL all-in-one配置,编译时出现问题,具体如下列图片所示,求大神解答。

1、出现错误:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
解决方案:项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
Q:该方法治标不治本,每次新建一个项目时都要重新配置。还有为什么这么做就能解决该问题呢?
A:1)治本的方法:
<1>项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
<2>项目|项目属性|配置属性|连接器|清单文件|生成清单 “是”改为“否”。
<3>若以上两步后仍没解决问题,则按照以下方法解决:
查找是否有两个cvtres.exe。一个是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一个是C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。
删除旧版本的cvtres.exe后,就不需要每次都设置配置了。
2)为什么这么操作可以解决问题?笔者未查明原因,同仁们有清楚的可以给出评论。

2、1>lena.obj : error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvDestroyWindow,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvWaitKey,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvShowImage,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvNamedWindow,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvLoadImage,该符号在函数 _main 中被引用
1>c:\users\yunyan\documents\visual studio 2010\Projects\lena\Debug\lena.exe : fatal error LNK1120: 6 个无法解析的外部命令
1>
1>生成失败。
1>
1>已用时间 00:00:01.52
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
解决方案:出现错误的原因可能有二,一种是系统配置不对(如x64位下仍使用Win32则错),另一种是少添加了库。笔者的是第一种原因,因为一直习惯了在x86下编写Win32程序,所以编译的时候仍使用了Win32,那么必然运行失败。该问题怎么破呢?如下:
右击项目名称,选择“属性”,弹出页面的最上方中间一项“平台”选择x64,在该平台下按照OpenCV中文网的配置过程。

⑵ 如何正确安装VS2008用于基于x64编程

我和你用的一样,win7_x64+VS2008+IVF11_x64,一点问题销档也没有,你检查一下你安装VS2008时装64位支持了么?我不记得是不是默认的了,另外你说“选项没有显示64位的编译做斗举器”,又说“选择X64编译时弹出对话框……”,是什么意思?如果选项里没有X64的选项,你可以点新建,注意不要从“win32”复制,改为“空纯碧”,你试试,希望能帮到你

⑶ VS2013 ATL项目由win32转为x64属性后 编译成功后无法自动注册dll

你可以在工程属性中自定义生成事件中添加手动注册滑坦。

设置方法, 选中工程,右键菜单【属性】-【生成事件】-【后期生成事件】-【命令行】中春余输入信森桐
regsvr32 /s $(OutDir)$(TargetName)$(TargetExt)

⑷ 如何编译64位dll程序,有几种情况,在32位XP上用VC++6.0或者VS2010该怎么编译64位的dll。

在64位的操作系统上用vs软件编译的dll默认就是64位。
在32位XP上用VC++6.0编译64位的dll,需要安装sdk(最新版本是sdk2003),在开始菜单——sdk——open build environment window——windows server 2003 64-bit build environment——set win svr 2003 x64 build env进入命令行,从命令行调用msdev,将vc选项里的include和lib的第一个默认路径设为sdk目录下64位头文件和库的路径,编译出的dll似乎就是64位的了。这个是从网页上看到的,没实践过。
在32位XP上使用vs2010就简单多了,新建一个项目(解决方案),加入代码,设置X64,编译生成即可。

⑸ VS2013怎么编译成64位程序

⑹ vs2005 64位编译是变成编译32位

早期在vs2008上的一个测试,希望能够帮助你

一、win32改为x64编译

我采用衫尘了vs2008平台,以下都是基于此平台将win32编译改为x64编译悄判

这里以Debug模式为例,起初为Win32平台,要改成x64,如果有可直接选择,否则需要新建,之后为

然后打开vs的项目->属性或运禅->配置属性->连接器,

在“高级”选项中,目标计算机为MachineX64(/MACHINE:X64)

在“命令行”选项中,将X86改为X64

平台选择x64,若没有则新建之

⑺ vs2015c语言x64用什么编译器,,, 我查过c语言用cl编译器,但是cl编译的是32位,请问

X64和X86是同一个编译器,只是编译选项不同

⑻ 如何安装和使用VS 2008的64位编译器

v
安装方法/步骤
1
首先,进入到控制面板,找到关于对应的vs08,卸载。
在控制面板中的程序和功能选项中,选择Microsoft Visual Studio Team System 2008 Team Suite - 简单中文,然后右击选择“卸载/更新”。

2
之后,进入到卸载的页面,单击“添加/删除功能”,如下图。

3
然后会进入到选项页面,在语言工具一栏中,选择Visual C++中将X64编译器和工具,如下图。

4
之后,便进入到安装的页面。等待即可。

5
在安装完成后,通过开始菜单中,即可看到“Visual Studio 2008 x64 兼容工具命令提示”。

END
配置64位编译器
1
首先,打开一个工程项目,选择“配置管理器”(或者右击项目选择属性,进入到属性页,点击“配置管理器”)

2
接着,在活动解决方案平台选项中,选择“新建”,如下图。

3
之后,在新建页面,选择平台x64(在没安装64编译器情况下,则不会有X64选项),点击“确定”。

4
最后,选择相应的64位平台,进行编译即可实现64位程序的编译。

⑼ 如何安装和使用VS 2008的64位编译器

1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器。点击新建解决方案平台。
2. 选择“x64”平台,点击确定按钮。
3. 这时候配置管理器中的平台已经改成刚才选择的x64了,这时候编译出来的就是64位程序了。可以在工具栏的平台下拉框中快速切换目标平台。
4. 如果在选择平台的下拉列表里找不到x64,可能是没有安装x64编译支持。在VS安装程序里再装上就可以了。

⑽ vs有没有32位与64位的区别

visualstudio没有专门的64位版,但32位版可以在64位系统上面正常使用。

由于操作系统内存分配的不同,导致软件开发过程中,需要编译不同版本的软件。

编译程序根据需要选择不同的编译环境,x86和win32为32位程序,x64为64位程序,可以选择不同的编译条件形成不同位的软件。

代码中的基本数据类型,会根据操作系统的位数来分类内存大小。

如int型在32位操作系统下为4字节,在64位系统下为8字节。

因此在64位上对int型数据操作,编译生成32位的程序,有可能导致int型越界,软件出现问题,32位的程序在64位操作系统上运行,由于64位操作系统的寻址和偏移问题,也有可能导致程序在运行过程中,计算结果与32位系统不一致。

64位操作系统理论上能够箭筒32位和64位软件,32位操作系统不能运行64位程序。

在vs中,x64生成的程序只能在64位系统中运行。如果用户用的是32位的系统(比如XP),则运行不了程序。

x32生成32位程序,由于64位系统也能运行32位的程序,所以这个选项跟AnyCPU一样可以同时运行在两种系统中,但效率没有AnyCPU高,因为64位的软件跟CPU交互的数据要比32位的接近大一倍。

所以当要把项目代码转移到另一台计数机时,就要考虑这个问题。假如原来选择的目标平台是x64,新电脑的系统是32位,当你按F5调试运行时,则跑不起来,这时把目标平台改成AnyCPU或者x32就能解决了。

(10)vs编译x64扩展阅读:

如果项目引用有32位的dll(c++编译生成的),则只能选择32位平台,否则也会报错,整个项目要保持一致。

在项目调试的过程中,可以看到32位与64位程序加载的dll不同。

32位程序从system32中加载dll;而64位程序从syswow64中加载dll。

64bit程序在x86-64处理器上并不会带来明显的性能提高,它只是增加了处理器的寻址范围,可以使用更大的内存。而对于VS这种并非内存敏感的程序,并不十分需要迁移到64bit下。

另外,还有一个历史原因,就是微软一直没有完成64bit下的JIT调试器的EditandContinue功能,这是因为64bit的JIT是C++团队做的,和原生CLR团队的32bitJIT有很多不同。

如果微软推出了64bit的VS,那么调试的体验会受到限制,这也是为什么微软一直以来没有推出64bitVS的原因。

阅读全文

与vs编译x64相关的资料

热点内容
intellij创建java 浏览:106
java连接odbc 浏览:36
启动修复无法修复电脑命令提示符 浏览:357
手机编程是什么 浏览:93
山东移动程序员 浏览:161
苏州java程序员培训学校 浏览:475
单片机液晶驱动 浏览:852
魔拆app里能拆到什么 浏览:130
新预算法的立法理念 浏览:142
wdcpphp的路径 浏览:132
单片机p0口电阻 浏览:924
浏览器中调短信文件夹 浏览:594
五菱宏光空调压缩机 浏览:68
为什么app占用几百兆 浏览:678
自动解压失败叫我联系客服 浏览:484
易语言新手源码 浏览:456
oa服务器必须有固定ip地址 浏览:42
传奇源码分析是什么 浏览:267
解放压缩机支架 浏览:255
程序员秃顶搞笑相遇 浏览:8