c – Visual Studio命令编译器强制64位编译

我试图在Windows VS命令提示符中构建可执行文件和一些相关的dll.该项目附带一个scons文件,所以我只需在VS Cmd提示符中输入scons即可.

可执行文件正在“x86”VS Cmd提示符中构建.但是,运行时,可执行文件不是32位(使用任务管理器确认.)我的同事使用scons文件在他的64位计算机上构建相同的项目,并且他的可执行文件在我的计算机上是32位. (再次与任务经理确认)

dll是由32位JVM加载的,因为它们是64位,所以它们会抛出一个错误.我的同事dll不会.

我们无法弄清楚为什么我的计算机在“x86”VS环境中强制进行64位构建.有没有人有什么建议?

附: – 我有MS VS 2010,他有MS VS 2010 Express.

P.S.S. – 我有64位python,因此我的scons也是64位.然而,我的同事也是如此.

解决方法:

Scons通常会根据安装的内容确定要使用的工具链(即编译器)(如果没有明确指定).

Visual Studio 2010 Express只能构建32位二进制文​​件 – 即使在64位Windows上 – 这就是Scons的功能.使用32位和64位编译器的Visual Studio 2010“非表达式”,Scons可能会在64位Windows上进行64位构建.

要指定Scons项目的32位或64位版本,可以分别将TARGET_ARCH设置为“x86”或“x86_64”.另见Scons Construction Variables.

上一篇:python函数生成源的SCons和依赖项


下一篇:在android上编译需要stl的库