У меня есть 2 cpp и 3 файла заголовка в моем проекте. Когда я их компилирую в VS, он работает плавно, и я не получаю сообщение об ошибке. Но когда я пытаюсь скомпилировать его на SSH сети по этой линии:Компилятор не видит мою основную функцию (Неопределенная ссылка на главную)
g++ -o program.cpp lineoperations.cpp customer.h transaction.h lineoperations.h
Он говорит:
In function `_start':
(.text+0x20): undefined reference to `main'
Не говори «не забудьте написать основную функцию», потому что это уже есть и мой проектные работы на VS. Что делать тогда?
Вот часть, относящаяся к моим кодам. Program.cpp до main:
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <ctype.h>
#include <cstring>
#include <cstdio>
#include "lineoperations.h"
using namespace std;
line bankline;
bool operate(char);
void search(char[]);
void add(char[]);
void removee(char[]);
void transaction();
void printline();
int main(){
bankline.create();
bool end = false;
while (!end) {
end = bankline.decideFunction();
}
bankline.close();
return EXIT_SUCCESS;
}
Это продолжается, но нет необходимости вставлять их, я думаю. Если вам нужно посмотреть другие файлы cpp или файлы заголовков, я также их вставляю.
Можете ли вы предоставить [mcve]? – NathanOliver
Возможно ли, что у вас есть #ifdef, который исключает main() из компиляции, когда вы не компилируете в VS? –
Многие вещи могли пойти не так. Если этот ответ не кажется особенно удовлетворительным, отправьте дополнительную информацию и да, укажите MCVE. –