"-fpermissive"と "include"はlinuxのcコンパイラで動作しません

ShiraOzeri 07/30/2017. 1 answers, 44 views
android android c linux jenkins android-ndk android-ndk

私はJenkinsを使って大きなプロジェクトを完成させました。

私がWindowsのマシン上でジェンキンでプロジェクトをビルドすると、ビルドは成功しました。

しかし、私がlinuxのマシン上のjenkinsで同じプロジェクトをビルドすると、ビルドに失敗しました。

私はこのように多くのエラーを取得します:

cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C 

ファイルの名前に問題があります:

In file included from /var/lib/jenkins/workspace/mt-android-sdk-new/library/src/main/cpp/iprs_audio/iprs_audio_funcs.h:10:0,
                   from /var/lib/jenkins/workspace/mt-android-sdk-new/library/src/main/cpp/iprs_audio/iprs_audio_funcs.c:7:
  /var/lib/jenkins/workspace/mt-android-sdk-new/library/src/main/cpp/./iprs_audio/iprs_audio.h:15:40: fatal error: iprs_audio/iprs_audio_defs.h: No such file or directory
   #include                                           ^ 

ファイルの名前は次のとおりです。Iprs_audio_defs.h(大文字)

Windowsでは、文字間の違いは重要ではありませんが、Linuxではこのエラーが発生します。 これは大きなプロジェクトであり、私の責任は単なるジェンキンスなので、ファイルの名前を変更することはできません

どんな助け?

4 Comments
Downvoter 07/30/2017
"窓で文字の違いは重要ではありません"文字の違いは正確ですか? また、それぞれWindowsとLinux上のコンパイラは何ですか?
Michael 07/30/2017
「これは大きなプロジェクトであり、私の責任は単なるジェンキンスなので、ファイルの名前を変更することはできません」したがって、開発者に修正を依頼してください。
ShiraOzeri 07/30/2017
答えに感謝します! @Downvoter私はこれを私のlinux(centOS)でチェックし、コンパイラはgcc(GCC)4.8.5 20150623(Red Hat 4.8.5-11)ですが、私のコンパイラは何ですか? 私はこれについての答えをチェックしましたが、見つかりませんでした..プロジェクトのAndroidスタジオでは、ACファイルが、私はまた、私のcoputerにビジュアルスタジオ2015を持っています。 混乱させて申し訳ありません..
Jonathan Leffler 07/30/2017
Windowsは大文字と小文字を区別しないファイルシステムを持っています(macOSも同様です)。 Linuxは大文字と小文字を区別するファイルシステムを持っています。 Linuxではヘッダのパスを正確に綴る必要がありますが、Windowsではうんざりすることがあります。

1 Answers


Dan Albert 08/10/2017.

これは大きなプロジェクトであり、私の責任は単なるジェンキンスなので、ファイルの名前を変更することはできません

残念ながら、これは唯一のオプションです。 Linuxは大文字と小文字を区別します。

4 comments
ShiraOzeri 08/30/2017
ありがとう、それ以上の違いはありますか? たぶんNULLで? 私は手紙を修正しました...しかし、それはWindows上でのみ実行され、Linuxでは実行されません
Dan Albert 08/30/2017
NULLはファイルではありません。 C / C ++はすでに大文字と小文字を区別しています。 ファイル名の大文字と小文字の区別は違いです。
ShiraOzeri 08/31/2017
しかし、大文字と小文字を区別して修正しても、ビルドは低下します。 Windowsマシン上で同じプロジェクトをビルドしても、それは成功です。 しかし、Linuxマシン(centOS)は失敗しました。)コードがコンパイルされ、プロジェクトからテストを実行してから落ちます。 エラー:テストが完了するまでに失敗しました。 理由: '' java.lang.IllegalArgumentException 'のために計測が失敗しました'
Dan Albert 08/31/2017
別の問題のように聞こえますが、NDKに関連しないものです。 あなたはおそらくその問題について新しい質問をしたいと思うでしょうが、そのエラーのための簡単なgoogleの検索では: stackoverflow.com/questions/22085760 / ...

Related questions

Hot questions

Language

Popular Tags