2017-09-14 9 views
0

私はVisual Studio 2017 C++クロスプラットフォームプロジェクト(linux)で再生しています。 1つの実行可能プロジェクトをコンパイルして実行することができました。VS2017は、コンパイルエラーの原因となるリモートenv(linux)に追加のインクルードディレクトリをコピーしません。

私は2つのC++プロジェクトを作成しました。 1つは静的ライブラリで、もう1つは動的ライブラリです。動的ライブラリは静的ライブラリのクラスを使用するので、クラス定義を含む対応するヘッダファイルの#include文があります。ヘッダーファイルが見つからないとコンパイルに失敗します。私はプロジェクトのプロパティ(通常はWindowsのvC++プロジェクトで動作する)にインクルードディレクトリを追加インクルードディレクトリに追加しました。しかし、ヘッダファイルがリモートのlinux env(WSL)にコピーされていないように見えます。

追加のインクルードディレクトリが発明された理由があるため、インクルードファイルをダイナミックライブラリプロジェクトに追加したくありません。

追加のインクルードディレクトリをリモートenvにコピーするようにビルドを設定する方法はありますか?

答えて

0

追加のインクルードディレクトリから参照されるファイルは、すでにLinuxリモートにあると予想されます.VCLinuxはコピーしません。そして、追加のインクルードはしばしばサードパーティのパッケージであるため、正直言って、あなたはそれを望んでいません。

しかし、静的ライブラリを構築した場合は、ヘッダーを含むソースがLinuxリモートに存在します。 Linuxシステム上の静的ライブラリヘッダーとライブラリへのパスをプロジェクト設定で指定します。

+0

ありがとうございます!意味をなさないそれを試してみる。 –

+0

パスを指定しようとしましたが、うまくいきません。以下のリンクは問題を非常に正確に説明し、提案された解決策は私のために働いた:https://developercommunity.visualstudio.com/content/problem/40127/additional-include-folders-problems-for-linux-proj.html。より良い方法がありますか? –

+0

リンクされたレポートには、リモートパスをよく指定する際の問題が記述されています。また、VCLinuxのGitHubサイト(https://github.com/Microsoft/VSLinux/issues/68)に公開されている問題があります。この問題は、現在のVS2017 15.4プレビュー2.0では解決されていません。私たちはこれ以上長い間生きなければならないように見えます。 – stanthomas

関連する問題