22

www.marcansoft.com からopenlaseライブラリをコンパイルしようとしていますが、CMake で問題が発生しています。CMake は、Curses が見つからないというエラーを返しています。何度も調べた後でも、問題が何であるかについて困惑しています。さまざまな ncurses パッケージがインストールされていることを確認しましたが、それでもエラーは解決しません。私は CMake にあまり詳しくありませんが、この問題の前に発生した他の依存関係の問題を解決できました。以下はターミナルでの出力です。

tom@SILVER:~/dev/openlase$ cmake ./
-- Found JACK 
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:70 (MESSAGE):
  Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindCurses.cmake:159 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  examples/27c3_slides/CMakeLists.txt:3 (find_package)


-- Configuring incomplete, errors occurred!

どんな助けでも大歓迎です。

  • トム
4

6 に答える 6

24

これがUbuntu12.04x86_64 (64ビット)での私の問題を修正したものです(syslogicに感謝します)

何らかの理由で(多分午前1時?)、CURSES_USE_NCURSESTRUEの設定は機能していないようです。だから私はハックの仕事に行きました。

インストールされていることを確認しました:

$ sudo apt-get install libncurses5-dev

効果のあるものが表示されます。libncurses5-dev is already the newest version.

したがって、ライブラリを見つけて含めます。

$ locate libncurses.so

場所に注意してください、私のもの:/usr/lib/x86_64-linux-gnu/libncurses.so

$ locate curses.h

もう一度場所に注意してください、私の: /usr/include

の:<cmake source dir>/Modules/FindCurses.cmake

コメントの直後の上部に追加します

set( CMAKE_INCLUDE_PATH "/usr/include")
set( CMAKE_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libncurses.so")

その後、すすぎ、ビルドプロセスを繰り返します

./bootstrap
make 
sudo make install

これでccmakeがインストールされます。

あなたの仲間、

于 2013-02-07T07:01:45.437 に答える
14

これを修正する別の方法は、次の 2 行を FindCurses.cmake に追加することです (上部)。

set(CURSES_LIBRARY "/opt/lib/libncurses.so")
set(CURSES_INCLUDE_PATH "/opt/include")
于 2012-12-15T16:40:27.570 に答える
7

CMake が CURSES を見つけようとするのではなく、一時的に CURSES_USE_NCURSES を TRUE に設定して NCURSES の使用を強制します。

于 2011-01-14T23:39:02.133 に答える
2

対応する-devパッケージもインストールされていますか?Ubuntu (およびおそらく Debian から派生したもの) では、libncurses5-dev. 他のシステムでは、-develまたは同様のタグを使用する場合があります。

コンパイラはライブラリ ヘッダーを探しますが、それらは標準パッケージでは提供されません。(ヘッダーは実行時には必要なく、ソフトウェアのコンパイル時のみ必要です。そのため、ソフトウェアのコンパイルを行わないシステムの不要なものを簡単に削除できます。)

于 2011-01-13T10:21:49.267 に答える
1

openlase wiki は、必要なパッケージのすべてを表示していませんでした。更新された手順については、github の wiki ページを確認してください。curses の場合、不足しているパッケージは libncurses5-dev でしたsudo apt-get install libncurses5-dev

于 2013-02-07T00:25:28.503 に答える
0

CMake が CURSES を見つけようとするのではなく、一時的にCURSES_NEED_NCURSESを TRUE に設定して NCURSES の使用を強制します。

set(CURSES_NEED_NCURSES TRUE)

CURSES_USE_NCURSES は FindCurses.cmake によって内部的に使用されるため、その設定は役に立ちません。

于 2014-06-10T03:57:59.983 に答える