VS2010编译64位程序的问题

小班得瑞 2014-08-11 04:04:17
我现在的管理器配置是x64,然后预处理里只定义了_WIN64,没有定义WIN32.
然后我在链接库的时候使用了如下命令

#ifdef WIN32
#pragma comment(lib, ".....")
#endif

#ifdef _WIN64
#pragma comment(lib, ".....")
#endif

在用VS2010编译程序的时候,发现还是会流到WIN32这个分支里,请问是为什么,难道有什么默认的属性吗,怎么更改。
...全文
117 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
liweiiewil 2014-08-11
  • 打赏
  • 举报
回复
我只有VC2012的64位版本。在这个版本中是这样配制的(VC2010)应该类似:
1. 在程序的“属性->C++->预处理器"中确保当前的平台是x64(如果不是,则需要用配制管理器添加新的平台信息).
2. 即使当前已经设置了x64平台,为了后向兼容,系统还是会定义WIN32,可以在"preprocessor definitions"中去掉。这样就行了。下面是我测试的程序:
#ifdef WIN32
int a = 10;
#endif

#ifdef _WIN64
int a = 20;
#endif

void main()
{
int b = a;
}

b为20

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧