3

cmockaMac OSX Yosemite 10.10.3 で単体テスト用のライブラリをインストールして実行しようとしていますが、設定に問題がありRPATHます。

アップデート:

cmocka.h@baf のおかげで、次のように手動で CMakeLists.txtに含めることができました。

set(CMAKE_C_FLAGS_DEBUG "-I/usr/local/include/cmocka.h")

しかし、なぜ手動で行わなければならないのでしょうか。


私はすでにそれをインストールするさまざまな方法を試しました:

私がこれまでに行ったこと:

  1. ここから cmocka をダウンロードします。バージョン 1.0。

  2. tar xvf cmocka-1.0.1.tar.xz

  3. cd cmocka-1.0.1mkdir buildおよびcd build

  4. sudo cmake ..
    ここに次のようなメッセージが表示されます。

-- 設定完了

CMake 警告 (開発者):

ポリシー CMP0042 が設定されていません: MACOSX_RPATH はデフォルトで有効になっています。ポリシーの詳細については、「cmake --help-policy CMP0042」を実行してください。cmake_policy コマンドを使用してポリシーを設定し、この警告を抑制します。

MACOSX_RPATH は、次のターゲットに対して指定されていません。

cmocka_shared

この警告は、プロジェクト開発者向けです。-Wno-dev を使用して抑制します。

質問 1:rpath上記のような警告が表示されないようにするにはどうすればよいですか?

  1. 須藤make

  2. 須藤make install

  3. cmocka今すぐインストールする必要がありますよね?


ライブラリcmakeを使用している私のプログラムを実行しています。cmocka

だから今cmake、私は自分のプログラムを実行し、メインCMakeList.txtファイルには次のような行があります:

find_library (CMOCKA cmocka)
if (NOT CMOCKA)
    message (WARNING "Cmocka library not found.")
endif (NOT CMOCKA)

しかし、この段階では警告は表示されないので、コンピューター上でfind_libarary(CMOCKA cmocka)正常に検出cmockaされたと思います。

make私のプログラムのために走っています。

実行make中に次のようなエラーが発生します。

fatal error:<br>
    'cmocka.h' file not found<br>
#include <cmocka.h>
          ^
1 error generated.

だからきっとcmocka見つからない…。

質問 #2:cmockaライブラリが見つからないのはなぜですか?


その他の注意事項:

  1. 走ってみた

    $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    

しかし、それは役に立ちませんでした。MacではなくLinux向けのソリューションだと思います。

  1. ここの公式ドキュメントからRAPTHMacについて何かを学ぼうとしました: http://www.cmake.org/Wiki/CMake_RPATH_handling。しかし、私はほとんど理解できず、問題の解決策を思いつくことができませんでした。cmake

  2. cmockaを使用してインストールしようとしましbrewたが、同じ結果が得られました。

  3. RPATHさらに、 SO 、リンク、およびに関する多くの質問を読みましcmockaたが、適切な解決策も見つかりませんでした。それでも、関連するスレッドのリストは次のとおりです。

  4. 私は走っotool -L cmockaた。これが私が得たものです:

    error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool: can't open file: cmocka (No such file or directory)
    
4

1 に答える 1