0

allegro libray を使用するようにコードをセットアップしようとしています。mandriva で KDEV4 を使用しています。allegro-dev パッケージをインストールしました。その後、KDevelop で allegro 関数を使用するとドキュメントが表示されるので、確かにライブラリを見つけました。

ただし、ソースをコンパイルするallegro_init()とエラーが宣言されないため、CMakeLists.txtファイルを確認したところ、問題があると思います。

project(game)
add_executable(game main.cpp)

ライブラリを見つけてリンクするには、cmake に何を書く必要がありますか?

私は一般的なインストールをしています:

  • 含まれています/usr/include
  • そしてライブラリは/usr/lib

KDE 4.6.5 mandriva 2011 free、cmake 2.8.4 の下に allegro 4.4 をインストールしました。

明らかでない場合、私の質問は、私の CMakeLists.txt が allegro を含めてコンパイルするためにどのように見えるべきかということです。

4

3 に答える 3

4

インクルードパスまたはライブラリパスを指定するのを忘れている可能性があります。allegroのheadファイルが/usr/ local / allegro / includeにあり、allegroのlibファイルの名前がliballegro.aの場合は、/ usr / local / allegro/libにあります。次のスクリプトを追加すると問題が解決する可能性があります。

INCLUDE_DIRECTORIES(
/usr/local/allegro/include
)

LINK_DIRECTORIES(
   /usr/local/allegro/lib
) 

TARGET_LINK_LIBRARIES(game
liballegro.a 
)
于 2011-11-30T03:03:40.267 に答える
1

考えられる方法の 1 つは、このようにすることです。

プロジェクト(ゲーム)

add_executable(ゲームの main.cpp)

target_link_libraries(ゲーム -l{ライブラリ})

{library} は、実行可能ファイルにリンクする必要があるライブラリの名前です。

あなたの場合、私はそれがlibalegroかそのようなものであるべきだと思います。

もっと良い方法があると思いますが、私は Cmake の経験があまりありません。

よろしくお願いします。

于 2011-11-29T17:17:30.507 に答える
0

実際、そうする正しい方法は、以下を使用してCXXフラグをcmakeに追加することであることがわかりました。

kdev options 

'allegro-settings --libs'インクルードと.Oの正しい場所を返すを使用します

および.aプリコンパイル済み

申し訳ありませんが、thxですが、私はあなた全員に賛成します

于 2011-12-01T15:58:20.987 に答える