Как нам передать путь включения?Linux

Ответить
Anonymous
 Как нам передать путь включения?

Сообщение Anonymous »


Я создал каталог «сборки» и запустил cmake .. для запуска программного обеспечения ViennaTS. Это сработало, но когда я запустил make, я получил следующую ошибку.

Имя пользователя@DESKTOP-DMU7A5N:~/ViennaTS/build$ make [ 50%] Создание объекта CXX src/CMakeFiles/viennats.dir/viennats.cpp.o В файле, включенном из /home/Username/ViennaTS/src/viennats.cpp:61: /home/Имя пользователя/ViennaTS/viennats/Parameters.h:35:10: фатальная ошибка: sprng/sprng.h: такого файла или каталога нет 35 | #include "sprng/sprng.h" | ^~~~~~~~~~~~~~~ компиляция прекращена. make[2]: *** [src/CMakeFiles/viennats.dir/build.make:76: src/CMakeFiles/viennats.dir/viennats.cpp.o] Ошибка 1 make[1]: *** [CMakeFiles/Makefile2:125: src/CMakeFiles/viennats.dir/all] Ошибка 2 make: *** [Makefile:91: все] Ошибка 2 Я понимаю, что файл sprng.h в каталоге sprng отсутствует, но файл sprng/sprng.h не существует в каталоге SPRNG. Файл sprng.h существует по следующему пути.

/home/Имя пользователя/sprng/SRC /home/Имя пользователя/sprng/include В этом случае следует ли мне изменить #include "sprng/sprng.h" или мне следует изменить includePath ${workspaceFolder}/**? Я в растерянности, поэтому, пожалуйста, помогите мне, если вы знаете больше. Включаемая часть кода в Parameters.h выглядит следующим образом.

#ifndef DEF_PARAMETERS #define DEF_PARAMETERS /* ============================================= ======================== Copyright (c) 2008-2015, Институт микроэлектроники, Венский технический университет. ----------------- ViennaTS - Симулятор топографии Вены ----------------- Контакт: viennats@iue.tuwien.ac.at Лицензия: MIT (X11), см. файл LICENSE в базовом каталоге. =============================================== ========================== */ #include #include #include #include #include #include #include #include #include #include #include #include "Раздел/Partition.h" #include "границы.h" #include "message.h" #include "parser_actors.h" #include "sprng/sprng.h" #define BOOST_SPIRIT_DEBUG "CMakeList" имеет следующий вид.

# Требуемая версия CMake ############### cmake_minimum_required (ВЕРСИЯ 2.8) #cmake_minimum_required (ВЕРСИЯ 3.1.0) # Настройка проекта ############### ПРОЕКТ(Вена) установить (VERSION_MAJOR 1) установить (VERSION_MINOR 0) установить (VERSION_PATCH 0) set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) # Тип сборки по умолчанию ############## ЕСЛИ (НЕ CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE «Выпуск») КОНЕЧНИК() # Параметры компиляции по умолчанию ################# SET(CMAKE_CXX_FLAGS "-Стена -педантичный") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g") SET(CMAKE_CXX_FLAGS_RELEASE "-O3") SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") # Укажите общий каталог включения ################ INCLUDE_DIRECTORIES(".") INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/viennats/) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/viennats/LSlib/) # Укажите, что выходной исполняемый файл находится в корневом каталоге сборки ################ SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) # Найдите необходимые условия #################### # Найдите дополнительные модули CMake в подкаталоге cmake.. список (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") #ОпенМП .. НАЙТИ_ПАКЕТ (ТРЕБУЕТСЯ OpenMP) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") # Способствовать росту .. НАСТРОЙКА (BOOST_MIN_VERSION 1.46.0) FIND_PACKAGE (ТРЕБУЕТСЯ повышение ${BOOST_MIN_VERSION}) INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) #ВЕСНА .. НАЙТИ_ПАКЕТ (ТРЕБУЕТСЯ ПРУЖИНА) INCLUDE_DIRECTORIES(${SPRNG_INCLUDE_DIR}) SET(БИБЛИОТЕКИ ${LIBRARIES} ${SPRNG_LIBRARY}) # HDF5 НАЙТИ_ПАКЕТ (КОМПОНЕНТЫ HDF5 CXX) ЕСЛИ(HDF5_FOUND) ЕСЛИ(HDF5_hdf5_cpp_LIBRARY) add_definitions(-DUSE_HDF5) add_definitions(${HDF5_DEFINITIONS}) INCLUDE_DIRECTORIES(${HDF5_INCLUDE_DIRS}) НАБОР(БИБЛИОТЕКИ ${БИБЛИОТЕКИ} ${HDF5_LIBRARIES}) ИНАЧЕ(HDF5_hdf5_cpp_LIBRARY) сообщение (FATAL_ERROR «Отсутствует библиотека HDF5 C++») ENDIF(HDF5_hdf5_cpp_LIBRARY) ЕЩЕ (HDF5_FOUND) сообщение (СТАТУС «Отсутствует библиотека HDF5: ViennaTS будет собрана без поддержки файлов TDR») КОНЕЦДИФ(HDF5_FOUND) # Подкаталоги ################ add_subdirectory (источник) # Добавляем видимость заголовков # Необходимо для использования Qt-Creator. ################ файл( GLOB_RECURSE MAKE_HEADERS_VISIBLE_SRC *.hpp *.h) add_custom_target(MAKE_HEADERS_VISIBLE SOURCES ${MAKE_HEADERS_VISIBLE_SRC}) cmake .. сгенерировал следующий Makefile.
# Файл, сгенерированный CMAKE: НЕ РЕДАКТИРОВАТЬ! # Создано генератором «Unix Makefiles», CMake версии 3.22. # Цель по умолчанию выполняется, когда для выполнения не указаны аргументы. default_target: все .PHONY: default_target # Разрешить только один "make -f Makefile2" одновременно, но пропускайте параллелизм. .НЕПАРАЛЛЕЛЬНО: #============================================== =========================== # Специальные цели, предоставляемые cmake. # Отключите неявные правила, чтобы канонические цели работали. .СУФФИКСЫ: # Отключить неявные правила на основе VCS. % : %,в # Отключить неявные правила на основе VCS. % : RCS/% # Отключить неявные правила на основе VCS. % : RCS/%,v # Отключить неявные правила на основе VCS. % : SCCS/с.% # Отключить неявные правила на основе VCS. % : с.% .СУФФИКСЫ: .hpux_make_needs_suffix_list # Флаг командной строки для отключения вложенного $(MAKE). $(VERBOSE)MAKESILENT = -s #Подавить отображение выполненных команд. $(VERBOSE).ТИХИЙ: # Цель, которая всегда устарела. cmake_force: .PHONY: cmake_force #============================================== =========================== # Установите переменные среды для сборки. # Оболочка, в которой выполняются правила make. ОБОЛОЧКА = /bin/sh # Исполняемый файл CMake. CMAKE_COMMAND = /usr/bin/cmake # Команда удаления файла. RM = /usr/bin/cmake -E rm -f # Экранирование специальных символов. РАВНО = = # Исходный каталог верхнего уровня, в котором был запущен CMake. CMAKE_SOURCE_DIR = /home/ishitanaken23/ViennaTS # Каталог сборки верхнего уровня, в котором был запущен CMake. CMAKE_BINARY_DIR = /home/ishitanaken23/ViennaTS/build #============================================== =========================== # Цели, предоставляемые CMake по всему миру. # Специальное правило для целевого edit_cache редактировать_кэш: @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan «Интерактивный диалог CMake недоступен...» /usr/bin/cmake -E echo Нет\интерактивного\CMake\диалога\доступно. .PHONY: edit_cache # Специальное правило для целевого edit_cache edit_cache/быстро: edit_cache .PHONY: edit_cache/fast # Специальное правило для целевого rebuild_cache перестроить_кэш: @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Запуск CMake для регенерации системы сборки..." /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) .PHONY: rebuild_cache # Специальное правило для целевого rebuild_cache rebuild_cache/быстро: rebuild_cache .PHONY: rebuild_cache/fast # Основная цель все: cmake_check_build_system $(CMAKE_COMMAND) -E cmake_progress_start /home/ishitanaken23/ViennaTS/build/CMakeFiles /home/ishitanaken23/ViennaTS/build//CMakeFiles/progress.marks $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 все $(CMAKE_COMMAND) -E cmake_progress_start /home/ishitanaken23/ViennaTS/build/CMakeFiles 0 .PHONY: все # Основная чистая цель чистый: $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 очистить .PHONY: чистый # Основная чистая цель чистый/быстрый: чистый .PHONY: чисто/быстро # Подготовьте цели к установке. предустановка: все $(MAKE) $(MAKESILENT) -f предустановка CMakeFiles/Makefile2 .PHONY: предустановка # Подготовьте цели к установке. предустановка/быстрая: $(MAKE) $(MAKESILENT) -f предустановка CMakeFiles/Makefile2 .PHONY: предустановка/быстрая # ясно, зависит зависеть: $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 .PHONY: зависит #============================================== =========================== # Целевые правила для целей с именем MAKE_HEADERS_VISIBLE # Создайте правило для цели. MAKE_HEADERS_VISIBLE: cmake_check_build_system $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 MAKE_HEADERS_VISIBLE .PHONY: MAKE_HEADERS_VISIBLE # правило быстрой сборки для цели. MAKE_HEADERS_VISIBLE/быстро: $(MAKE) $(MAKESILENT) -f CMakeFiles/MAKE_HEADERS_VISIBLE.dir/build.make CMakeFiles/MAKE_HEADERS_VISIBLE.dir/build .PHONY: MAKE_HEADERS_VISIBLE/быстро #============================================== =========================== # Целевые правила для целей с именем viennats # Создайте правило для цели. вены: cmake_check_build_system $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 вены .PHONY: вены # правило быстрой сборки для цели. Вена/быстро: $(MAKE) $(MAKESILENT) -f src/CMakeFiles/viennats.dir/build.make src/CMakeFiles/viennats.dir/build .PHONY : венат/быстро # Цель помощи помощь: @echo "Ниже приведены некоторые допустимые цели для этого Makefile:" @echo "... все (по умолчанию, если цель не указана)" @echo "...чисто" @echo "...зависит" @echo "... edit_cache" @echo "... rebuild_cache" @echo "... MAKE_HEADERS_VISIBLE" @echo "...венаты" .PHONY: помощь #============================================== =========================== # Специальные цели для очистки работы make. # Специальное правило для запуска CMake для проверки целостности системы сборки. # Ни одно правило, зависящее от этого, не может иметь команды, поступающие из файлов списков # потому что они могут быть перегенерированы. cmake_check_build_system: $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 .PHONY: cmake_check_build_system
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»