Могу ли я использовать свой домашний диск в качестве места, где размещаются / устанавливаются компилятор и его файлы (и включает), но использовать другой диск для моего источника c / cpp файлы?
Например, gcc и включаемые файлы находятся в / usr /
, а файлы исходного кода / кода находятся на другом диске.
Я попытался импортировать необходимые включения, используя
#include "/usr/include/stdlib.h"
и т. Д. но это не сработало, потому что простого добавления stdlib было недостаточно, и он показал:
cannot open source file "stdarg.h" (dependency of "stdio.h")
Я использую Ubuntu 18.04, VSCode.
РЕДАКТИРОВАТЬ:
Проблема была решена путем добавления пути включения к файлу конфигурации, c_cpp_properties.json
вручную.
Не указывайте абсолютные пути в директиве include ! Если вы хотите включить заголовочные файлы из других мест, отличных от путей по умолчанию, вы можете использовать флаг препроцессора -I
, при необходимости несколько раз. Практически все современные компиляторы C и C ++ имеют встроенные препроцессоры, поэтому вы можете просто указать флаг в командной строке обычного компилятора:
cc [options...] -I/your/header/search-path -I/another/header/search-path [more options...] [source files...]
Для получения дополнительной информации см. Раздел руководства GCC « Опции для поиска по каталогу » или эквивалентные разделы руководства вашего компилятора C или C ++.
Системы сборки на основе make
обычно передают флаги препроцессора, компилятора C и компилятора C ++ через переменные окружения CPPFLAGS
, CFLAGS
и / или CXXFLAGS
соответственно:
CPPFLAGS="$CPPFLAGS -I/your/header/search/path" make
Если в вашем проекте используется другая система сборки, обратитесь к документации.
Вы можете задать более конкретные вопросы о инструментарии компилятора и системы сборки в Переполнение стека , так как они, вероятно, будут не по теме здесь.
В любой системе Linux компилятор gcc обычно устанавливается в/usr/bin, в то время как стандартная библиотека включает файлы, обычно хранятся в/usr/include.
Можно создать файлы проекта в собственном корневом каталоге или любом другом каталоге, к которому у Вас есть rw доступ. В то время как исходные проекты для пакетов дистрибутива обычно устанавливаются в/usr/src
Необходимо предоставить больше информации о любых ошибках, которые Вы получаете при обращении за помощью, таким образом, люди могут дать Вам надлежащий совет. Я предполагаю, что Вы уже установили gcc пакет в своей системе.
Я предлагаю Вас Google для подходящего учебного руководства для разработки приложений C++ на Linux, который предоставил бы Вам ответы на большое количество проблем, которые Вы, вероятно, будете иметь, как Вы начинаете, включая, но не ограничиваясь, подходящим язем.