Как встроить проект C ++ в ту же папку, что и исходный файл в KDevelop

0

Предположим, что я пишу код для чтения из файла и печатаю его содержимое, и я так часто меняю его содержимое, что мне нужно, чтобы он был видимым из представления инструмента проектов. Проблема заключается в том, что KDevelop заставляет меня создавать код в отдельной папке (т.е. Создать папку). Таким образом, структура проекта выглядит следующим образом.

--> Project Folder
 |
 --> code.cpp
 --> file.txt
 --> build 
  |
  --> code (exe file)

Теперь создание и выполнение проекта не будет работать так, как ожидалось, потому что file.txt не находится рядом с исполняемым файлом, поэтому он не может прочитать его содержимое.

Перемещение file.txt в папку сборки не будет работать, поскольку оно исключает его из представления инструмента проекта в KDevelop (т.е. я не могу получить доступ к файлу из левой панели в KDevelop).

Создание ярлыка файла file.txt и перемещение его в папку сборки, чтобы файл был помимо исходного кода, и его ярлык находится в папке с установкой, но для каждого раза, когда я хочу переименовать файл, мне нужно создать новый ярлык или переименовать папку в папке сборки.

Что мне делать? Я думаю, что это может быть обработано одним из двух способов.

  • Построение проекта в той же папке, что и исходный код и file.txt. Но KDevelop не позволит мне сделать это, создавая сообщение об ошибке The selected build directory is not empty.

  • Позвольте мне добавить текстовый файл в представление инструмента "Проекты", не физически находясь внутри папки проекта. Таким образом, я могу создать файл внутри папки сборки и получить доступ к нему или изменить его из представления инструмента "Проекты", но, похоже, в KDevelop нет возможности для этого.

Есть ли предложения? Я пробовал QtCreator, и это позволяет мне делать то и другое.

  • 1
    Предполагая, что вы используете cmake, я бы создал правило, которое копирует ресурсы в каталог сборки при сборке проекта. Существуют ТАК вопросы о том, как это сделать.
Теги:
kdevelop

1 ответ

1
Лучший ответ

Обычный способ обработки этого случая - использовать дополнительный шаг установки после сборки. На этом этапе окончательные двоичные файлы из каталога сборки и дополнительные файлы из исходного каталога копируются в третье место.

Как это достигается, зависит от используемой системы сборки.

  • 0
    Наконец, я сделал это с этой командой add_custom_command(TARGET MyProject PRE_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SOURCE_DIR}/file.txt ${CMAKE_BINARY_DIR}/file.txt) с заменой MyProject и file.txt с реальными значениями. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню