如何编辑Microsoft Visual Studio 2013编译器开关?

时间:2013-12-19 21:29:47

标签: c++ visual-studio

这个问题类似于其他关于 / bigobj 的问题,但是,这些问题并没有直接解决编译器选项。这特别回答了编译器选项的一般问题,并且还处理了特定编译器选项的单独问题,甚至可以进一步链接其他类似问题,以便比其他问题更容易找到。

我需要初始化一个超过16641个元素的结构。

    #include "stdafx.h"
    #include <iostream>

    struct ArtificialIdiocy{
        double x, y, z;
        double nx, ny, nz;
    };

    int _tmain(int argc, _TCHAR* argv[]){
        ArtificialIdiocy objectArray[16641];

        objectArray[0].x = 1.012709;
        objectArray[0].y = 0.069911;
        objectArray[0].z = 1.010933;
        objectArray[0].nx = 0.165410;
        objectArray[0].ny = 0.883572;
        objectArray[0].nz = -0.438063;

        objectArray[1].x = -1.000000;
        objectArray[1].y = 0.014457;
        objectArray[1].z = 1.000000;
        objectArray[1].nx = 0.179296;
        objectArray[1].ny = 0.883511;
        objectArray[1].nz = -0.432661;

        objectArray[2].x = 1.000693;
        objectArray[2].y = 0.011744;
        objectArray[2].z = -1.000509;
        objectArray[2].nx = 0.172582;
        objectArray[2].ny = 0.897122;
        objectArray[2].nz = -0.406629;

//等等......等等。

        objectArray[16638].x = 0.969018;
        objectArray[16638].y = 0.116736;
        objectArray[16638].z = 0.967181;
        objectArray[16638].nx = 0.437513;
        objectArray[16638].ny = 0.782861;
        objectArray[16638].nz = 0.442335;

        objectArray[16639].x = 0.968575;
        objectArray[16639].y = 0.105999;
        objectArray[16639].z = 0.998326;
        objectArray[16639].nx = 0.561235;
        objectArray[16639].ny = 0.718528;
        objectArray[16639].nz = 0.410718;

        objectArray[16640].x = 0.999139;
        objectArray[16640].y = 0.089730;
        objectArray[16640].z = 0.997266;
        objectArray[16640].nx = 0.608631;
        objectArray[16640].ny = 0.688559;
        objectArray[16640].nz = 0.394208;

但MSVS2013编译器告诉我,我的struct有很多部分并退出并显示错误:

  

错误1错误C1128:超出目标文件格式限制的部分数:使用/ bigobj编译

如何编辑/添加“/ bigobj”编译器开关?

1 个答案:

答案 0 :(得分:1)

对于MSVS Express 2013,打开项目“属性页”,转到“C / C ++”树项目,然后转到您看到最后一个选项的位置,“命令行“。点击此处,然后在“其他选项”文本框中添加任何其他开关。

在这种情况下,您可以添加“ / bigobj ”,所有小写字母。

另见:

Penalty of the MSVS compiler flag /bigobj

Build issue with MSVS 2010 and the C++ standard

How to compile with /bigobj within Dymola (Modelica)

在将此问题与其他人联系起来时,发现了以下内容:

http://msdn.microsoft.com/en-us/library/ms173499%28v=VS.100%29.aspx

http://msdn.microsoft.com/en-us/library/8578y171.aspx