Ошибка — «#include ожидает» FILENAME » или & lt; FILENAME & gt; & quot; при компиляции файла g ++

Я довольно новичок в программировании Linux.
Я собираю простой код C ++, используя g++:

#include“recip.hpp”
#include<cassert>

double recip (int i) {
// I should be non-zero.
assert (i != 0);
return 1.0/i;
}

Файл recip.hpp существует в моем текущем каталоге. Я не понимаю, почему я получаю ошибку:

recip.cpp:1:9: error: #include expects "FILENAME" or <FILENAME>

В чем дело?

1

Решение

Компилятор не является ни текстовым редактором, ни человеком — он проверяет точное совпадение кода символа, а не визуальное сходство … Вы должны использовать

#include "recip.hpp"

используя стандартные двойные кавычки.

9

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

Ваша первая строка, рассматриваемая как UTF-8, гласит:

0x23 = U+0023
0x69 = U+0069
0x6E = U+006E
0x63 = U+0063
0x6C = U+006C
0x75 = U+0075
0x64 = U+0064
0x65 = U+0065
0xE2 0x80 0x9C = U+201C
0x72 = U+0072
0x65 = U+0065
0x63 = U+0063
0x69 = U+0069
0x70 = U+0070
0x2E = U+002E
0x68 = U+0068
0x70 = U+0070
0x70 = U+0070
0xE2 0x80 0x9D = U+201D
0x0A = U+000A

U + 201C и U + 201D необходимо заменить на U + 0022 (ASCII 34) или ",

MS Word и другие текстовые редакторы делают плохие редакторы кода на C.

1

начать глоток
когда вэй построить пример.

example_wrap.c: 2948: 10: ошибка: #include ожидает «FILENAME» или

/* File: example.i */
%module example
%{
#define SWIG_FILE_WITH_INIT
#include 'example.h'
%}
int fact(int n);

мы меняем код:

/* File: example.i */
%module example

%{
#define SWIG_FILE_WITH_INIT
#include "example.h"%}
int fact(int n);

это просто включает в себя «двойные кавычки».

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