[解決済み] windows.h no such file or directory (compile c code on linux) [closed].
質問内容
私はヘッダーを含むC言語プログラムを持っています。このプログラムは、Windows上で正常に動作しますが、私はコードを使用してコンパイルすると、Linux上で動作します。
gcc main.c -Wall -o main
得ることができる。
main.c:2:10: fatal error windows.h: そのようなファイルやディレクトリはありません コンパイルが終了しました
このエラーが発生する理由と修正方法をご存知でしょうか?
解決方法は?
問題は、あなたのコードが Windows 専用の関数宣言を取得するために windows.h ヘッダーファイルを使っていることです。なぜなら、Linuxのツールチェーン(GCCなど)は、Linux用にコンパイルするために必要なファイルだけを(デフォルトで)含むからです。
いくつかのオプションがあります。
-
エドヒールとして 提案された このコードをLinuxに移植してください。つまり、windows.hのインクルードを削除し、Windows APIを使用しているすべての関数コールをLinuxの同等品に置き換えるということです。OSに依存する呼び出しをプラットフォームに依存しないコードにリファクタリングしない限り、このソースコードはLinuxでしか動作しないことになります。注意:扱うプログラムが些細なものでない限り、これは簡単な作業ではありません。WindowsのAPI関数がすべてLinuxと同等であるという保証はないのです。
-
ビルドシステムにWindowsツールチェーンをインストールします。このツールチェーンにはwindows.hと クロスコンパイル を作成します。この結果、Linuxでは動作しないバイナリができますが する はWindowsで動作します。
-
この2つのオプションの中間は、実際に両方を行うことであり、そのためには 条件付きコンパイル を使用すると、あるターゲットまたは別のターゲットに対して選択的にコンパイルすることができます。
関連
-
[解決済み】ENOENTが「そのようなファイルやディレクトリはありません」という意味であるのはなぜですか?
-
[解決済み】C言語におけるファイルスコープでの可変長配列の変更
-
[解決済み】 strcpyとstrdupの比較
-
[解決済み】警告。この関数ではXが初期化されていない状態で使用される可能性があります。
-
[解決済み] struct で "warning: useless storage class specifier in empty declaration" (警告: 空の宣言での無駄なストレージクラス指定子)
-
[解決済み】「構造体でもユニオンでもないものにメンバー'*******'を要求する」とはどういう意味ですか?
-
[解決済み】警告:引数「互換性のないポインタ型から」を渡す[デフォルトで有効]。
-
[解決済み] テスト
-
[解決済み] エラー: `itoa` はこのスコープで宣言されていません。
-
[解決済み】c - 警告:関数 'printf'の暗黙の宣言
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:cの入力の最後に期待される宣言またはステートメント
-
[解決済み】"Expected expression before ' { ' token"(トークンの前に期待される式)。
-
[解決済み】エラー:'for'ループの初期宣言はC99モードでしかできない【重複
-
[解決済み】初期化がキャストなしで整数からポインタを作成 - C言語
-
[解決済み】argv[]をint型として取得するには?
-
[解決済み】C言語で入力が整数型かどうかチェックする
-
[解決済み】警告:引数「互換性のないポインタ型から」を渡す[デフォルトで有効]。
-
[解決済み】0LLや0x0ULの意味は何ですか?
-
[解決済み】C言語でpow( )への未定義参照、math.hを含むにもかかわらず【重複】。
-
[解決済み】whileループの時間複雑性(Big O)はどうやったらわかるの?