【发布时间】:2020-04-13 05:48:24
【问题描述】:
我收到了一个用 C 语言构建的程序的代码,该程序使用强化学习算法。我需要修改它,但我在编译代码时遇到了困难。这是 CodeBlocks 中的输出。
所有错误都来自头文件中的一行代码,该文件是 IBM CPLEX 包含目录 (include\cplex\cpxconst.h) 的一部分
有问题的代码行如下。
define CPXDEPRECATEDAPI(version) __declspec(dllimport deprecated)
错误消息是多种类型的语法错误,例如:error: 预期标识符或 '(' before ')' 标记
每个错误都有注释:文件ilcplex\cplex.h中的多行代码
我在 Windows 10 中使用 CodeBlock CPLEX 版本是 12.9.0
完整的错误消息
||=== 构建:在 SWEM2020 中发布(编译器:GNU GCC 编译器)===| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1194|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1194|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1200|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1200|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1231|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\swemextras.h|16|错误:'trunc' 的类型冲突| c:\mingw\include\math.h|820|注意:'trunc' 的先前声明在这里| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1194|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1194|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1200|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1200|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1231|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1231|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1237|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1237|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1242|注意:在宏“CPXDEPRECATEDAPI”的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1242|注意:在宏“CPXDEPRECATEDAPI”的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1597|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1597|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_genetic1.c||在函数'GeneticAlgorithm1'中:| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_genetic1.c|64|警告:格式参数过多 [-Wformat-extra-args]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_genetic1.c|67|警告:未使用的变量 'lostLoad' [-Wunused-variable]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\dlist.c|137|错误:“InsertInOrder_dlist”的类型冲突| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\dlist.h|19|注意:“InsertInOrder_dlist”的先前声明在这里| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1231|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1237|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1237|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1242|注意:在宏“CPXDEPRECATEDAPI”的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1242|注意:在宏“CPXDEPRECATEDAPI”的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:在 'deprecated' 之前预期的 ')'| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1597|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cpxconst.h|243|错误:预期标识符或 '(' before ')' token| C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\include\ilcplex\cplex.h|1597|注意:在宏'CPXDEPRECATEDAPI'的扩展中| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\swemextras.h|16|错误:'trunc' 的类型冲突| c:\mingw\include\math.h|820|注意:'trunc' 的先前声明在这里| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c||在函数“RFAlgorithm1”中:| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|183|警告:格式参数过多 [-Wformat-extra-args]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|185|警告:未使用的变量 'lostLoad' [-Wunused-variable]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c||在函数“Alg_MERwFirms_MustRun”中:| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|466|警告:未使用的变量 'lostLoad' [-Wunused-variable]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c||在函数“Alg_MERwFirms”中:| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|727|警告:格式参数过多 [-Wformat-extra-args]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|729|警告:未使用的变量 'lostLoad' [-Wunused-variable]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c||在函数“Alg_MERwFirmsSoftmax”中:| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|934|警告:格式参数过多 [-Wformat-extra-args]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|936|警告:未使用的变量 'lostLoad' [-Wunused-variable]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c||在函数“Alg_ERSspilloverwFirms”中:| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|1179|警告:格式参数过多 [-Wformat-extra-args]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|1181|警告:未使用的变量 'lostLoad' [-Wunused-variable]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c||在函数“Alg_ERSpilloverwFirmsSoftmax”中:| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|1393|警告:格式参数过多 [-Wformat-extra-args]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|1395|警告:未使用的变量 'lostLoad' [-Wunused-variable]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c||在函数“RFAlgorithm”中:| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|1573|警告:格式参数过多 [-Wformat-extra-args]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|1575|警告:未使用的变量 'lostLoad' [-Wunused-variable]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c||在函数“RFAlgorithmM”中:| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|1784|警告:格式参数过多 [-Wformat-extra-args]| C:\Users\Tingle\OneDrive\Documents\Coding\SWEM2020\alg_rf.c|1786|警告:未使用的变量 'lostLoad' [-Wunused-variable]| ||=== 构建失败:27 个错误,17 个警告(0 分钟,2 秒)===|
【问题讨论】:
-
您使用的是什么操作系统?什么版本的 CPLEX?你能显示更完整的错误信息吗?
-
我已经添加了完整的错误信息。我在 Windows 10 CPLEX 版本是 12.9.0 中使用 CodeBlocks,在 MinGW 中编译。
标签: header deprecated cplex