2016-04-19 2 views
-2

У меня есть SDK для роботизированного устройства, называемого (Falcon Haptic Device), и я пытаюсь составить простой пример, предоставленный самой компанией, но я хочу установить конфигурацию компоновки и зависимости, используя Cmake.Внешняя конфигурация Cmake Конфигурация зависимостей

На моем диске у меня есть проточные файлы

  • SDK

    • включают

      • dhdc.h
      • drdc.h
    • Lib

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

А в другой каталог у меня есть мой проект я называю «ММТ»

  • 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». , учитывая, что код (mmt.cpp) отлично работает, когда я запускаю предоставленный .sln-файл из компании на 32 и 64 платформах ... так что мне не хватает в 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, если вы выбрали эту опцию.