sublimetext3 — Подтвердите местоположение, которое ищет .sublime-build (Sublime Text 3, C ++) в Windows

У меня есть обычай .sublime-build файл в Sublime Text 3 (ST3), где я включил папку, которую я хочу найти для заголовочного файла c ++:

{
"cmd": ["g++", "$file_name", "-o", "${file_base_name}.exe", "-I C:/package/armadillo74002/include", "-L C:/package/armadillo74002/examples/lib_win64", "-lblas_win64_MT", "-llapack_win64_MT", "&&", "start", "cmd", "/c" , "$file_base_name"],
"selector": "source.c",
"working_dir": "${file_path}",
"shell": true
}

Тем не менее, когда я запускаю скрипт:

#include <armadillo>

Я получаю следующую ошибку:

headerex.cpp:2:21: fatal error: armadillo: No such file or directory

но я могу проверить мой компьютер и увидеть, что файл существует в этом каталоге. Почему это дает мне эту ошибку? Что я могу изменить, чтобы найти заголовочный файл, который я ищу?

0

Решение

Я не знаком со всей терминологией, так как мой опыт программирования на C / C ++ несколько ограничен, но я понимаю, что есть два типа #includes. Первый тип, где имя файла заголовка заключено в угловые скобки < > (#include <stdio.h>, #include <string.h>и т. д.) означает, что вы включаете заголовок из стандартной библиотеки.

Второй тип, где включаемый файл окружен двойными кавычками " " (#include "Python.h", #include "myheader.h"и т. д.), для включения любого другого заголовка, местоположение которого указано в файле Makefile или в командной строке с -I вариант (по крайней мере, для gcc). Подкаталоги также могут быть показаны — например, если вы передаете -I/usr/local/include/mylib/include вариант, ваше включение может быть #include "x86_64/myheader.h" если в исходном каталоге есть подкаталоги.

Увидеть В чем разница между #include <имя файла> и #include "имя файла"? для лучшего объяснения.

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]