クロス プラットフォームの C++ コードを記述する方法は、次のようにクラスを定義することだと聞きました (たとえば、ウィンドウ クラス)。
window.h
window_win32.cpp
window_linux.cpp
window_osx.cpp
それに応じて実装ファイルを選択します。しかし、os に関連するそのクラスのメンバーがいる場合はどうなるでしょうか? HWND
Win32 実装のメンバーのように。または、たとえばLinuxでコンパイルしようとすると、コンパイルエラーがwindow.h
発生します。
私はそれをする必要が#ifdef
ありますか?私はすでに同様の質問をしましたが、これはこの特定の問題に焦点を当てています。