2

GPSでAdaコードをコンパイルしようとすると問題が発生します。GPSは、パッケージに含めると欠落していると言います。apt-getでインストールしてみましたが、エラーが発生します。次に何ができますか?x64Ubuntu12.04でGPSを実行しています。

これが私が受け取ったエラーメッセージです:

gprbuild -d -P / media / LUISMUNYOZ / QUINTO / str / pendulum / pendulum_portatil / pendulum.gpr
 -XEXTRA = True -XOPENGL = True -XGNOME = True -XBUILD = Production
 print_barrier_sync.adb contrib.gpr:1:09:警告:言語「Xml」にコンパイラが指定されていません。
 すべてのソースを無視するx86_64-pc-linux-gnu-gcc-clw.cから含まれるファイル内
 /media/LUISMUNYOZ/QUINTO/str/pendulum/pendulum_portatil/gtkada/testgtk/opengl/lw.c:20:0:
 /media/LUISMUNYOZ/QUINTO/str/pendulum/pendulum_portatil/gtkada/testgtk/opengl/lw.h:23:18:
 致命的なエラー:glib.h:そのようなファイルまたはディレクトリのコンパイルは終了しませんでした。
 gprbuild:*コンパイルフェーズが失敗しました

[2012-11-21 13:24:47]プロセスはステータス4で終了しました(経過時間:02.06s)[2012-11-21 13:24:56]
    パス上で実行可能ファイルを見つけることができませんでした:svn SVNエラー:
[…]

この時点でエラーがトリガーされます。

#ifndef LW_H
#define LW_H

#include <glib.h>           <------------------------------------------
#include <GL/gl.h>

#define LW_MAX_POINTS   200
#define LW_MAX_NAME_LEN 500

ファイルはlw.hで、パッケージGtkAdaで定義されています。GPSページからダウンロードしました。

4

2 に答える 2

2

私はGtkAdaを使ったことがありません。しかし...私はグーグルglib.hで多くのヒットを得て、プレーンなCビルドには使用する必要があることを示唆しています-たとえば、このStackOverflowの質問から-

# Sample Makefile
CFLAGS := $(shell pkg-config --cflags glib-2.0 gtk+-2.0)
LDFLAGS := $(shell pkg-config --libs glib-2.0 gtk+-2.0)

foo: foo.c
        $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)

ただし、gprbuildここで話しているので、おそらくGtkAdaのドキュメントが関連しているのでしょうか。with "gtkada";GNATプロジェクトファイルに含める必要があり、まだ存在しない場合はの場所を含める必要があると表示されます(の出力を参照gtkada.gpr)。ADA_PROJECT_PATHgnatls -v

すでにそれを行っている場合は、GPRファイルを見せてください。

于 2012-11-22T09:40:46.243 に答える
2

@Simonのアプローチを追求しますが、 2.4.2に基づく回避策です。根本的な問題を解決する間、コマンドラインを使用することは一時的な代替手段になる可能性があります。

Linuxを使用しているので、これがMakefile基本的なInteractionデモです。

# Make shared, static or debug targets.
OS := $(shell uname)
OBJ = obj
TARGET = interaction
GNATMAKE = gnatmake -D $(OBJ)
CARGS = -cargs -O3 -gnatp -gnatwu -gnatf
BARGS = -bargs
LARGS = -largs
.PHONEY: clean cleaner cleanest

all:
    @echo ""
    @echo "Build targets:"
    @echo ""
    @echo "    shared     Use the shared Ada libraries."
    @echo "    static     Link the Ada libraries statically."
    @echo "    debug      Enable debugging."
    @echo ""
    @echo "Support targets:"
    @echo ""
    @echo "    clean      Remove *.ali *.o b~.*"
    @echo "    cleaner    Remove target, too."
    @echo "    cleanest   Remove build directory, too."
    @echo ""

shared: $(OBJ)
shared: INCLUDE = $(shell gtkada-config --cflags)
shared: BARGS += -shared
shared: LARGS += $(shell gtkada-config --libs)
shared: LARGS += -dead_strip
shared: *.ad[sb]
    @echo "building with shared libraries:"
    $(GNATMAKE) $(TARGET) $(INCLUDE) $(CARGS) $(BARGS) $(LARGS)

static: $(OBJ)
static: INCLUDE = $(shell gtkada-config --static --cflags)
static: BARGS += -static
static: LARGS += $(shell gtkada-config --static --libs)
static: LARGS += -dead_strip
static: *.ad[sb]
    $(GNATMAKE) $(TARGET) $(INCLUDE) $(CARGS) $(BARGS) $(LARGS)

debug: $(OBJ)
debug: INCLUDE = $(shell gtkada-config --static --cflags)
debug: BARGS += -static
debug: LARGS += $(shell gtkada-config --static --libs)
debug: *.ad[sb]
    $(GNATMAKE) -g $(TARGET) $(INCLUDE) $(LARGS)

$(OBJ):
    mkdir $(OBJ)

clean:
    ${RM} $(OBJ)/* b~*

cleaner: clean
    ${RM} $(TARGET)

cleanest: cleaner
    ${RM} -r $(OBJ) 

参考までに、これらのパッケージはUbuntu12.04にインストールされています。

$ dpkg --get-selections | egrep "gnat | gtkada"
gnatインストール
gnat-4.6インストール
gnat-4.6-ベースインストール
gnat-gpsインストール
gnat-gps-共通インストール
gnat-gps-docインストール
libgnat-4.6インストール
libgnatprj4.6のインストール
libgnatvsn4.6のインストール
libgtkada-binインストール
libgtkada2.24.1インストール
libgtkada2.24.1-devインストール
于 2012-11-22T14:02:06.417 に答える