Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 nlopt无法使用MSVC 2012编译cobyla.c_Visual Studio 2012_Cl_Nlopt - Fatal编程技术网

Visual studio 2012 nlopt无法使用MSVC 2012编译cobyla.c

Visual studio 2012 nlopt无法使用MSVC 2012编译cobyla.c,visual-studio-2012,cl,nlopt,Visual Studio 2012,Cl,Nlopt,当我尝试使用Visual Studio Express 2013使用中提供的Windows cmake文件编译nlopt时,通过cmake-DCMAKE\u BUILD\u TYPE=Release-DNLOPT\u BUILD\u SHARED=On-G“NMake Makefiles”进行配置即可,但是通过nmake编译失败,并显示以下错误消息: [ 40%] Building C object CMakeFiles/nlopt.dir/cobyla/cobyla.c.obj cobyla.

当我尝试使用Visual Studio Express 2013使用中提供的Windows cmake文件编译nlopt时,通过
cmake-DCMAKE\u BUILD\u TYPE=Release-DNLOPT\u BUILD\u SHARED=On-G“NMake Makefiles”进行配置即可,但是通过
nmake
编译失败,并显示以下错误消息:

[ 40%] Building C object CMakeFiles/nlopt.dir/cobyla/cobyla.c.obj
cobyla.c
e:\dev\nlopt\nlopt-2.4.1\cobyla\cobyla.c(1503) : fatal
 error C1001: An internal error has occurred in the compiler.
(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 228)
 To work around this problem, try simplifying or changing the program near the l
ocations listed above.
Please choose the Technical Support command on the Visual C++
 Help menu, or open the Technical Support help file for more information
INTERNAL COMPILER ERROR in 'c:\MSVS12\VC\bin\cl.exe'
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information
NMAKE : fatal error U1077: 'c:\MSVS12\VC\bin\cl.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: 'c:\MSVS12\VC\bin\nmake.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'c:\MSVS12\VC\bin\nmake.exe' : return code '0x2'
Stop.
ERROR: Build script of nlopt failed with errorcode 1.

问题是优化标志/O2导致
cl.exe
崩溃。要使用just/O1编译cobyla.c,请像往常一样执行cmake步骤,但在启动
nmake
之前更改以下文件:

在构建目录中打开
CMakeFiles/nlopt.dir/build.make
,找到构建
cobyla.c.obj

在那里,在522号线附近换车

$(C_DEFINES) /FoCMakeFiles\nlopt.dir\cobyla\cobyla.c.obj


然后运行
nmake
,它将生成(同时发出警告
cl:Command line warning D9025:用'/O1'
覆盖'/O2',但这正是我们想要的)。

问题是优化标志/O2导致
cl.exe
崩溃。要使用just/O1编译cobyla.c,请像往常一样执行cmake步骤,但在启动
nmake
之前更改以下文件:

在构建目录中打开
CMakeFiles/nlopt.dir/build.make
,找到构建
cobyla.c.obj

在那里,在522号线附近换车

$(C_DEFINES) /FoCMakeFiles\nlopt.dir\cobyla\cobyla.c.obj


然后运行
nmake
,它将进行构建(同时发出警告
cl:Command line warning D9025:用“/O1”
覆盖“/O2”,但这正是我们想要的)。

当我尝试在发布模式下用VC12(Visual Studio 2013中的编译器)构建CMake生成的nlopt项目时,我在cobyla.c中得到了一个编译错误C1001,该修复来自于。我需要在cobyla.c中的冒犯行之前加上一个pragma

i__1 = nact;
#pragma loop(no_vector) //line 1503
for (k = 1; k <= i__1; ++k) {
i_uu1=nact;
#pragma循环(无向量)//第1503行

对于(k=1;k当我尝试在发布模式下使用VC12(Visual Studio 2013中的编译器)构建CMake生成的nlopt项目时,我在cobyla.c中得到了一个编译错误C1001,该修复来自该错误。我需要在cobyla.c中有问题的行之前加上一个#pragma

i__1 = nact;
#pragma loop(no_vector) //line 1503
for (k = 1; k <= i__1; ++k) {
i_uu1=nact;
#pragma循环(无向量)//第1503行
对于(k=1;k