0
とヘッダのinclude windowsとlinuxでは、stdafx.hはLinux上では動作しません。これはVisual Studio上で必須です。は、私は私のCに次++コードを配置しようとしたのifdef
ifdefでインクルードを使用する別の方法はありますか?
とヘッダのinclude windowsとlinuxでは、stdafx.hはLinux上では動作しません。これはVisual Studio上で必須です。は、私は私のCに次++コードを配置しようとしたのifdef
ifdefでインクルードを使用する別の方法はありますか?
残念ながら、あらかじめコンパイルされたヘッダーとMicrosoft MSVCを使用してこの操作を行うことはできません。 MSVCは、その行の前にあるすべてのコード(およびすべてのガベージ)行を完全に無視します。その結果、#endif
は予期せぬことになります。
これを#ifdef _WIN32
とし、stdafx.hの中には何を入れませんか。
タイプミスを防ぐために、エラーメッセージをコピー/貼り付けする必要があります。 –
PCHには面白いルールがあります。それらの1つは、条件付きブロックでは使用できないということです(もう1つはソースファイルの最初の非コメント文でなければなりません)。 '' stdafx.h ''を無条件にインクルードする必要がありますが、空の(または論理的に空の、あるいは論理的には同等のファイル)' stdafx.h'ファイルをLinuxに提供する必要があります。 –
@JonathanLeffler知っておいてよかった! – Jayn