Я начал писать на C ++ несколько дней назад. Я использую Windows в качестве моей ОС для написания кода. Я держал все свои «хорошо написанные» коды в одном месте. Сейчас я работаю над проектом, который требует использования этих кодов. Итак, я планировал включить те файлы, которые мне нужны, в качестве заголовочных файлов в моем проекте. Однако, чтобы сделать мой проект «автономным», я создал ярлыки для тех папок, которые мне нужны, и сохранил их в исходной папке моего нового проекта и решил использовать относительные пути к ярлыкам в »include
заявления в моем проекте.
Однако я получаю ошибку. Есть ли способ использовать относительные (или, вообще, абсолютные) пути к ярлыкам в include
заявления C ++ в Windows?
Благодарю.
Это действительно зависит от как Вы включаете заголовочные файлы.
Если вы включите в двойные кавычки, например, например.
#include "some_header_file.h"
Тогда относительный путь от текущего местоположения файлов.
Если вы включаете использование угловых скобок, как, например,
#include <some_header_file.h>
Тогда относительный путь основывается на системных путях включения.
Вы всегда можете добавить путь к системному включаемому пути. Как это сделать, зависит от вашей среды и компилятора. Если вы используете Visual Studio, вы переходите в диалоговое окно свойств проекта, а на вкладке «C / C ++» / «Общие» есть поле «Дополнительные включаемые каталоги», в которое можно добавлять каталоги. (Это для VS 2015, может быть немного по-другому на других версиях.)
По поводу включения двойных кавычек. Допустим, иерархия вашего проекта выглядит следующим образом (на диск!):
проект | - Включить | - Источник | `- MoreSource `- Другое
В Project/Source
у вас есть ваши исходные файлы, и если один из них хочет включить заголовочный файл из Project/Include
тогда это будет выглядеть примерно так
#include "../include/header.h"
Теперь, если у вас есть исходный файл в Project/Source/MoreSource
которые хотят включить тот же заголовочный файл, это будет
#include "../../include/header.h"
Было бы полезно добавить Project/Include
каталог к системному заголовку пути поиска. Вы можете по-прежнему использовать двойные кавычки для включения файлов, поскольку, если они не найдены, препроцессор также будет искать системные пути, но вам не нужен «полный» относительный путь. Если вы добавите Project/Include
в системный заголовок, вы можете написать просто
#include "header.h"
Или же
#include <header.h>
Однако будьте осторожны, если у вас есть файл заголовка с тем же именем, что и у реального файла системного заголовка, у вас могут возникнуть некоторые проблемы.
От https://superuser.com/questions/253935/what-is-the-difference-between-symbolic-link-and-shortcut
Вы не можете включить ярлык папки, так как это файл, а не папка.
Вы можете прочитать руководство по создать символическую ссылку на windows.