Я боролся более 3 часов, но не могу найти решение.
Простая программа helloworld работает хорошо, и я могу получить вывод,
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
cout<<"hello world";
}
Но для проекта My Sudoku у меня есть следующий пользовательский заголовок
файлы, SudokuSolver.h, Matrix.h, Cell.h, Pos.h, Error.h, Exception.h и
соответствующие им файлы .cpp.
И ExampleProgram.cpp
использует эти файлы заголовков, чтобы решить судоку.
(Все файлы .h и .cpp находятся в одной папке.)
Я включил using namespace std;
и включил строку как #include <string>
.
в каждом заголовочном файле, где бы я ни использовал string.h. Но даже если я получаю fatal error: string: No such file or directory compilation terminated.
, когда я бегу как
g ++ ExampleProgram.cpp SudokuSolver.h Cell.h Error.h Pos.h Matrix.h
Когда я компилирую ExampleProgram.cpp как
g++ -c ExampleProgram.cpp SudokuSolver.h
Cell.h Error.h Pos.h Matrix.h
Я не получаю ошибку.
Когда я запускаю ExampleProgram.cpp , используя ./a.out
, я не получаю вывод для моего решателя судоку. Скорее я получаю вывод моей ранее запущенной программы helloworld. Это показывает, что мой ExampleProgram.cpp
не был успешно скомпилирован. Но, как было сказано ранее
g++ -c ExampleProgram.cpp SudokuSolver.h
Cell.h Error.h Pos.h Matrix.h
не дает никакой ошибки.
Это мой вывод:
[fosslab@fosslab SudokuSolver]$ g++ -c Error.h
[fosslab@fosslab SudokuSolver]$ g++ -c Exception.h
[fosslab@fosslab SudokuSolver]$ g++ -c Matrix.h
[fosslab@fosslab SudokuSolver]$ g++ -c Cell.h
[fosslab@fosslab SudokuSolver]$ g++ -c Pos.h
[fosslab@fosslab SudokuSolver]$ g++ -c SudokuSolver.h
[fosslab@fosslab SudokuSolver]$ g++ -c ExampleProgram.cpp SudokuSolver.h Excepti
on.h Cell.h Error.h Pos.h Matrix.h
[fosslab@fosslab SudokuSolver]$ ./a.out
hello world[fosslab@fosslab SudokuSolver]$