我正在使用CPLEX开发一个C ++项目(VS 2010)。
我在项目设置中包含了所需的cplex库,如下所示:
在C / C ++>下添加了“其他包含目录”。一般
在链接器>下添加了“附加库目录”。一般
将.lib文件添加为链接器>下的“附加依赖项”。输入
所有内容编译都很好,但我的问题是,当使用CPLEX库中定义的变量类型时,intellisense仍会报告错误(红色波浪线下划线),例如#include行中的“无法打开源文件”,以及“未定义标识符”。
与没有此行为的其他项目的唯一区别是,这次我在设置包含路径时使用了Windows环境变量,即库目录和包含目录的定义类似于:%CPLEX_STUDIO_DIR%\cplex\include
< / p>
我已经将它设置为这样,这样我就可以在不同的机器上构建这个项目,而不会在项目属性中乱搞。由于CPLEX是单独安装的,因此使用相对路径来指定其他目录实际上并不是一种选择。
我想重复一下这个项目编译,这只是困扰我的intellisense错误。
我知道我可以关闭intellisense错误报告,但是如果某人有解决方法,我很乐意听到它。
亲切的问候,
答案 0 :(得分:3)
Microsoft已知此问题:
我知道避免它的唯一方法是手动输入完整的文字路径。该错误标记为“延迟”,我认为这意味着微软认为它不够严重,不能很快修复。
答案 1 :(得分:3)
解决方案是将%CPLEX_STUDIO_DIR%\cplex\include
替换为$(CPLEX_STUDIO_DIR)\cplex\include
。这是Visual Studio用于其内置变量(如$(VCInstallDir)
)的语法,但它也适用于环境变量(只要它们与内置变量的名称不同)并且可以识别通过intellisense以及编译器。
(我知道这是一个老问题,但它在搜索结果中排名很高,因此即使不是原始海报,也可以帮助其他人。)