3

こんにちは、私は Linux 開発の初心者で、最近 Windows MSVS c++ 開発から Linux ベースの vim+cmake+gcc に切り替えました。Debian Sid(unstable) を使用しています。

私はサブディビジョンでコードを取得しようとしています。友人から実行するように取得しました。私はCmakeにあまり慣れていません.他のすべてのdistには異なるパッケージと異なるソリューションがあるように見えるため、ヘルプを求めてグーグルで検索するのはしばしば面倒です.

cmake_minimum_required (VERSION 2.6)
プロジェクト (ベンチマーク)
Find_Package(Qt4 REQUIRED) Include(${QT_USE_FILE})

find_package(OpenGL が必要)
include_directories(${OPENGL_INCLUDE_DIR})

set(CORELIBS ${QT_LIBRARY} ${OPENGL_LIBRARY} )

ファイル(GLOB SRC " .cpp")
ファイル(GLOB HEAD "
.h")
add_executable(ベンチマーク ${SRC})
target_link_libraries(ベンチマーク ${CORELIBS})

それが私の現在のCmakeです。find_package()、GLOBなどを使用してできるだけ動的にし、絶対パスを使用したくありません。

ビルドしようとすると、次のエラーが発生します。

subdivbench/Matrix4x4.h:4:19: 致命的なエラー: gl/GL.h: そのようなファイルまたはディレクトリはありません
#include gl/GL.h
コンパイルが終了しました。make[2]: [CMakeFiles/Benchmark.dir/Matrix4x4.cpp.o] エラー 1 make[1]: [CMakeFiles/Benchmark.dir/all] エラー 2

コードは Windows で完全に動作するため、あまり関係がありません。必要なのは、インクルードなどを Linux で動作させることだけです。

4

2 に答える 2

9

gl/GL.h の代わりに GL/gl.h をインクルード

于 2013-07-05T11:19:48.427 に答える
1

ハンスロフスキーが言ったことから:

システムに mesa をインストールし、小さなサンプル CMakeLists.txt を作成しました: FIND_PACKAGE(OpenGL REQUIRED) MESSAGE("${OPENGL_INCLUDE_DIR}") /home/phil/local/tmp/opengl に書かれているので、あなたのcmakeコードは私には正しいように見えます。

私が見つけたこと: gl/GL.h ではなく、GL/gl.h を含める必要があります。編集:そのフォーマットで申し訳ありませんが、コメントでは機能しないとは知りませんでした。

これはうまくいきました。トンハンスロフスキーに感謝します。それは単なる大文字の問題でした。

于 2013-07-05T11:02:57.140 に答える