LibTorch с CMake через Eclipse в Windows: прекращено значение выхода 390 - PullRequest
0 голосов
/ 20 декабря 2018

Я использовал cmake4eclipse для сборки стабильной версии C ++ версии 1.0 в Windows 10. По сути, у меня есть следующий код CMakeLists.txt для создания примера mnist:

cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
project(mnist)

set(CMAKE_PREFIX_PATH "C:/rl/libtorch/share/cmake/Torch")
set(Torch_DIR "C:/rl/libtorch")

find_package(Torch REQUIRED)

option(DOWNLOAD_MNIST "Download the MNIST dataset from the internet" ON)
if (DOWNLOAD_MNIST)
  message(STATUS "Downloading MNIST dataset")
  execute_process(
    COMMAND python ${CMAKE_CURRENT_LIST_DIR}/download_mnist.py
      -d ${CMAKE_BINARY_DIR}/data
    ERROR_VARIABLE DOWNLOAD_ERROR)
  if (DOWNLOAD_ERROR)
    message(FATAL_ERROR "Error downloading MNIST dataset: ${DOWNLOAD_ERROR}")
  endif()
endif()

set(CMAKE_BUILD_TYPE Debug) 
add_executable(mnist mnist.cpp)
target_compile_features(mnist PUBLIC cxx_range_for)
set_property(TARGET mnist PROPERTY CXX_STANDARD 14)
target_link_libraries(mnist ${TORCH_LIBRARIES})

Затем я загружаю его вместе сфайлы mnist.cpp и download_mnist.py в папке и запуск проекта в eclipse IDE for C/C++, версия 2018-09 (4.9.0)project_properties-> C / C ++ Build-> Редактор цепочек инструментов я устанавливаю CMake Builder (GNU Make) и выбираю MinGW GCC.Затем в project_properties-> C / C ++ General-> препроцессор, включите макросы путей и т. Д .-> Providers Я выбираю CMAKE_EXPORT_COMPILE_COMMANDS Parser [Shared] и перемещаю его вверх, как объяснено здесь .

Затем я могу скомпилировать проект mnist без каких-либо ошибок.Но когда я запускаю его, получаю <terminated> (exit value 390) a.exe [some address].Я попытался отладить этот код, чтобы выяснить проблему, но я не вижу экран отладки, и вместо этого я получаю:

enter image description here

Запуск режима отладкидо конца приводит к той же ошибке.Я могу без проблем запускать mnist.cpp в Linux, хотя я использую cmake -G "Eclipse CDT4 - Unix Makefiles" ./ для создания eclipse проекта.Я не знал, как я могу использовать cmake -G "Eclipse CDT4 - Unix Makefiles" ./ в Windows, и я использовал cmake4eclipse, и я считаю, что пропустил шаг в работе с файлом CMakeLists.txt в Windows.Я ценю любую помощь или комментарии.

Спасибо, Афшин

1 Ответ

0 голосов
/ 04 января 2019

Я задал тот же вопрос в Git Torch, и сегодня я получил ответ на это.Похоже, что пока мы не сможем запустить Libtorch через Eclipse с MinGw.Вот ответ, который я получил со страницы git torch:

"Я не думаю, что вы могли бы построить это с MinGW, потому что код написан на c ++, а MinGW несовместим с MSVC. Поэтому я думаю,вам может понадобиться скомпилировать с MSVC. А также в MSVC, отладка и выпуск конфигурации не могут быть смешаны. Поэтому вам придется выбирать Release, поскольку мы предоставляем библиотеку только с конфигурацией Release. "

Подробнеев: https://github.com/pytorch/pytorch/issues/15711

...