2016-04-19 11 views
-2

私は、(Falcon Haptic Device)と呼ばれるロボットデバイス用のSDKを用意しています。会社自身が提供する簡単な例をコンパイルしようとしていますが、 Cmake。外部依存関係を設定する

私が流れるファイル

  • を持って私のディスクに

    SDK

      • dhdc.h drdc.h
    • が含まれます

      • dhdms.lib
      • dhdms64.lib
      • drdms.lib
      • drdms64.lib

そして、私が持っている別のディレクトリ内のlib

  • 私のプロジェクト "MMT"と呼ぶ

    • MMT
      • mmt.cpp
      • 含ま
        • dhdc.h
        • drdc.h
      • CmakeLists.txt
      • ビルド

    と私は次のcmakelistsに

    cmake_minimum_required(VERSION 2.6 FATAL_ERROR) 
    project(MMT) 
    include_directories(include) 
    add_library(foo STATIC IMPORTED) 
    add_library(fop STATIC IMPORTED) 
    set_property(TARGET foo PROPERTY IMPORTED_LOCATION "C:/Program Files/Force  Dimension/sdk-3.5.1/lib/dhdms.lib") 
    set_property(TARGET fop PROPERTY IMPORTED_LOCATION "C:/Program Files/Force Dimension/sdk-3.5.1/lib/drdms.lib") 
    add_executable(myexe mmt.cpp) 
    target_link_libraries(myexe foo fop) 
    

    を持っている私は、私はそれを実行しかしとき...私はの.slnファイルを生成することに成功し、私はそれを開いたときには、どんな魅力的なエラーを持っていません「アプリケーションが正しく0xc000007bを開始できませんでした」という実行時エラーが発生しています。 与えられた.slnファイルを会社から32および64プラットフォームで実行すると、コード(mmt.cpp)がうまく動作します... Cmakelists.txtには何が欠けていますか?

  • +0

    WindowsやLinuxにはありますか? –

    +0

    私はWINDOWS 64を使用しています –

    +0

    依存関係ウォーカーを使用して実行可能ファイルを実行して、必要なDLLをすべてコピーしたことを確認しましたか? –

    答えて

    0

    私はこの問題を解決しました。 CmakeList.txtに問題はなかったことが判明しました。 問題を解決する方法は、Cmakeがジェネレーションを選択する前に、私が選択した(Visual Studio 10 2010)代わりにこれを使用する必要があります(Visual Studio 10 2010 WIN64)。 このオプションを選択した場合、hdhms64.libとリンクする必要があることに注意してください。

    関連する問題