なんとかなるさね

マイコンをネタにブログを始めてみました


RZマイコン基板(CEV-RZ/A1L) | 'kensa'プログラムをPleiades Kepler + MinGW GCCでビルド→失敗 

CEV Linux SDK V1.00.00のセットアップフォルダ内にあった'samples'フォルダの'kensa'プログラムですが、
これまでLinux版Linaro ARM Linux GCC、Windows版Linaro ARM Linux GCC、Linux版x86 Linux GCCで
ビルドして来ましたが、今度は、Pleiades 4.3 Keplerに同梱されているMinGW GCCでビルドしてみました。
結果は、コンパイルエラーで中断してしまいました。(とはいえ想定していた可能性の範囲内ですが。)

..\webapp-src\app-src\sensor.c:35: error: `LOCK_SH' undeclared (first use in this function)
..\webapp-src\app-src\sensor.c:37: error: `LOCK_UN' undeclared (first use in this function)
..\webapp-src\app-src\sensor.c:102: error: `LOCK_SH' undeclared (first use in this function)
..\webapp-src\app-src\sensor.c:104: error: `LOCK_UN' undeclared (first use in this function)
..\webapp-src\app-src\sensor.c:127: error: `LOCK_SH' undeclared (first use in this function)
..\webapp-src\app-src\sensor.c:131: error: `LOCK_UN' undeclared (first use in this function)



調べてみると、LOCK_SHやLOCK_UNというシンボルは、Windows版Linaro ARM Linux GCCでは、以下の
ファイルに含まれるシンボルでした。

ファイル: arm-linux-gnueabihf\libc\usr\include\arm-linux-gnueabihf\sys\file.h
内容:
/* Operations for the `flock' call.  */
#define LOCK_SH 1   /* Shared lock.  */
#define LOCK_EX 2   /* Exclusive lock.  */
#define LOCK_UN 8   /* Unlock.  */


このシンボルがMinGW GCCには含まれていませんでした。後で、Cygwin GCCを試してみようと思います。

なお、プロジェクトは、MinGW GCCプロジェクトとして作成しました。



関連記事

2013/12/13   blog-entry-384   category: Pleiades & CrossGCC

go page top