1

CPLEX を使用して C++ プロジェクト (VS 2010) に取り組んでいます。

次のように、必要な cplex ライブラリをプロジェクト設定に含めました。

  • C/C++ > 一般の下に「追加のインクルード ディレクトリ」を追加

  • リンカー>一般の下に「追加のライブラリディレクトリ」を追加しました

  • リンカー>入力の下に「追加の依存関係」として.libファイルを追加しました

すべてが正常にコンパイルされますが、私の問題は、CPLEX ライブラリで定義された変数型を使用すると、#include 行の「ソース ファイルを開けません」や「識別子が定義されていません」などのエラー (赤い波線の下線) がインテリセンスで報告されることです。

この動作を持たない他のプロジェクトとの唯一の違いは、今回はインクルード パスの設定に Windows 環境変数を使用したことです。つまり、ライブラリ ディレクトリとインクルード ディレクトリは次のように定義されます。%CPLEX_STUDIO_DIR%\cplex\include

プロジェクトのプロパティをいじることなく、このプロジェクトを別のマシンでビルドできるように、このように設定しました。CPLEX は個別にインストールされるため、相対パスを使用して追加のディレクトリを指定することは実際にはオプションではありません。

プロジェクトがコンパイルされることを繰り返したいのですが、気になるのはインテリセンスエラーだけです。

インテリセンスのエラー報告をオフにできることはわかっていますが、誰かがこれに対する回避策を持っている場合は、それについて聞いてみたいです.

敬具、

4

2 に答える 2

3

この問題は Microsoft に既知です。

http://connect.microsoft.com/VisualStudio/feedback/details/779874/intellisense-cant-handle-using-environemt-variable-in-include-path

私が知っている唯一の回避方法は、完全なリテラル パスを手動で入力することです。このバグは「保留」とマークされていますが、これは、Microsoft がすぐに修正するほど深刻ではないと考えていることを意味していると思います。

于 2013-07-01T23:05:26.683 に答える
3

解決策は、に置き換えること%CPLEX_STUDIO_DIR%\cplex\includeです$(CPLEX_STUDIO_DIR)\cplex\include。これは、Visual Studio が などの組み込み変数に使用する構文ですが、$(VCInstallDir)(組み込み変数と同じ名前でない限り) 環境変数にも機能し、Intellisense によって認識されるだけでなく、コンパイラ。

(これは古い質問だと思いますが、検索結果で上位にランクされるので、元の投稿者でなくても他の人を助けることができます。)

于 2015-01-29T11:19:19.650 に答える