VS2008 x64下编译32位程序遇到问题

时间:2022-01-27 20:07:22
之前有个32位下的基于com做的shell动态库,想让库在64位win7下运行,所以在VS2008 x64下进行重编译,但链接过程中报出N多错误:
1>LIBCMT.lib(close.obj) : error LNK2001: unresolved external symbol __imp_CloseHandle
1>LIBCMT.lib(open.obj) : error LNK2019: unresolved external symbol __imp_CloseHandle referenced in function _tsopen_nolock
1>LIBCMT.lib(initcon.obj) : error LNK2001: unresolved external symbol __imp_CloseHandle
...
在网上找了好久没有找到解决办法,大侠们,帮忙啊

7 个解决方案

#1


是否安装x64的VC library以及头文件等.

#2


引用 1 楼 oyljerry 的回复:
是否安装x64的VC library以及头文件等.


已经安装过了,但是在Tools->Options->Platform始终于Win32,切换成x64,再次打开自动变成Win32,不知道要怎么搞了

#3


求高手帮忙

#4


引用 2 楼 loseway 的回复:
引用 1 楼 oyljerry 的回复:

是否安装x64的VC library以及头文件等.


已经安装过了,但是在Tools->Options->Platform始终于Win32,切换成x64,再次打开自动变成Win32,不知道要怎么搞了

那就是你装的有问题。没问题的话是不会自动切换的

#5


引用 4 楼 akirya 的回复:
那就是你装的有问题。没问题的话是不会自动切换的

安装应该没问题,我在其他人机器上试着编译也是一样的情况

#6


会不会你的代码有用到32bit的lib库,你检查一下工程设置中的lib等

#7


你需要把所有链接到的模块都编译成64位, 64位的模块去链接32模块时会出现链接错误。

#1


是否安装x64的VC library以及头文件等.

#2


引用 1 楼 oyljerry 的回复:
是否安装x64的VC library以及头文件等.


已经安装过了,但是在Tools->Options->Platform始终于Win32,切换成x64,再次打开自动变成Win32,不知道要怎么搞了

#3


求高手帮忙

#4


引用 2 楼 loseway 的回复:
引用 1 楼 oyljerry 的回复:

是否安装x64的VC library以及头文件等.


已经安装过了,但是在Tools->Options->Platform始终于Win32,切换成x64,再次打开自动变成Win32,不知道要怎么搞了

那就是你装的有问题。没问题的话是不会自动切换的

#5


引用 4 楼 akirya 的回复:
那就是你装的有问题。没问题的话是不会自动切换的

安装应该没问题,我在其他人机器上试着编译也是一样的情况

#6


会不会你的代码有用到32bit的lib库,你检查一下工程设置中的lib等

#7


你需要把所有链接到的模块都编译成64位, 64位的模块去链接32模块时会出现链接错误。