繁体   English   中英

如何让 MSVS 识别 bigobj 标志?

[英]How to get MSVS to recognized the bigobj flag?

我正在 ANSYS Fluent 中构建一个用户定义的函数,它调用我安装的 MSVS 2017 来编译代码。 问题是我收到错误:

致命错误 C1128:节数超出目标文件格式限制:使用 /bigobj 编译

我发现其他人也有这个问题,但我仍然无法弄清楚如何在我的代码中添加一行来让编译器识别出这一点。 基于在线查找其他代码片段,我尝试在代码顶部的包含之后添加行:

#include "udf.h"
#include "unsteady.h"
#include "dynamesh_tools.h"
ADD_DEFINITIONS(/bigobj)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj")

但这给出了错误:

..\..\src\MY_UDF.c(10): error C2143: syntax error: missing ')' before '/'
..\..\src\MY_UDF.c(10): error C2143: syntax error: missing '{' before '/'
..\..\src\MY_UDF.c(10): error C2059: syntax error: '/'
..\..\src\MY_UDF.c(10): error C2059: syntax error: ')'

我不明白这些错误,因为这些错误是从其他人的工作代码中复制而来的。 我也尝试过,从我在网上找到的另一个片段:

QMAKE_CXXFLAGS += -bigobj

但这给出了下面的错误。

..\..\src\MY_UDF.c(9): error C2143: syntax error: missing '{' before '+='
..\..\src\MY_UDF.c(9): error C2059: syntax error: '+='

这是我的 udf 文件的顶部,它运行直到我向它添加太多行并得到上面显示的错误。

#include "udf.h"
#include "unsteady.h"
#include "dynamesh_tools.h"

我希望代码能够编译,但它没有。 我还没有找到任何解决方案来准确地告诉编译器它告诉我我应该告诉它的内容。

您的答案在下面的链接中,您只需在 Fluent 的makefile_nt.udf文件中添加一个/bigobj即可! 真是救命啊!

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/5043c081-a317-4528-a02d-d4b6e6d21543/problem-with-bigobj-when-compiled-by-other-software?forum=msbuild

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM