【发布时间】:2019-05-21 06:23:03
【问题描述】:
我使用 cmake4eclipse 在 Windows 10 中构建了稳定的 Torch C++ 1.0 版。基本上,我有以下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->Tool Chain Editor中,我设置CMake Builder (GNU Make)并选择MinGW GCC。然后,在project_properties->C/C++ General->Preprocessor Include Paths Macros etc.->Providers中,我选择CMAKE_EXPORT_COMPILE_COMMANDS Parser [Shared]并将其向上移动,正如here所解释的那样。
然后,我可以编译mnist 项目而不会出现任何错误。但是,当我运行它时得到<terminated> (exit value 390) a.exe [some address]。我试图调试此代码以找出问题,但我看不到调试屏幕,而是得到:
将调试模式运行到最后会导致相同的错误。
我可以在 Linux 中毫无问题地运行 mnist.cpp,尽管我使用 cmake -G "Eclipse CDT4 - Unix Makefiles" ./ 创建了一个 eclipse 项目。我不知道如何在 Windows 中使用 cmake -G "Eclipse CDT4 - Unix Makefiles" ./,而我使用了 cmake4eclipse,我相信我错过了在 Windows 中处理 CMakeLists.txt 文件的步骤。我感谢任何帮助或 cmets。
谢谢, 阿夫辛
【问题讨论】:
标签: c++ eclipse cmake torch libtorch