Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
0 / 0 / 0
Регистрация: 18.05.2025
Сообщений: 7

Удаляется exe файл при попытке компиляции

18.05.2025, 21:35. Показов 9696. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется написать программу, состоящую из нескольких файлов и использующую то, что в них содержится. В одном из файлов объявляется класс, его свойства и методы, во втором пишется их реализация. После подключения этих файлов к главному и попытке какого-либо взаимодействия между ними (объявления, определения переменной класса, создание вектора объектов этого класса и подобное) удаляется ехе файл и программа закономерно не может отработать. Проблема не в антивирусе, поскольку этот код я писал в файле, экзешник которого добавлен в исключения и который при запуске любой другой программы работает нормально. При чем онлайн компиляторы делают всё исправно. Вот код.

Файл book.h

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once
#include <string>
 
using namespace std;
 
class book{
    private:
        string author;
        string title;
        string publisher;
        int year;
        int pages;
    public:
        book();
        book(string inauthor, string intitle, string inpublisher, int inyear, int inpages);
        book(const book& orig);
 
        ~book();
 
        void setauthor(string inauthor);
        void settitle(string intitle);
        void setpublisher(string inpublisher);
        void setyear(int inyear);
        void setpages(int inpages);
 
        string getauthor();
        string gettitle();
        string getpublisher();
        int getyear();
        int getpages();
 
        void show();
};
Файл book.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include "book.h"
#include <iostream>
 
book::book(){
    author="";
    title="";
    publisher="";
    year=0;
    pages=0;
}
 
book::book(string inauthor, string intitle, string inpublisher, int inyear, int inpages){
    author=inauthor;
    title=intitle;
    publisher=inpublisher;
    year=inyear;
    pages=inpages;
}
 
book::book(const book& orig){
    author=orig.author;
    title=orig.title;
    publisher=orig.publisher;
    year=orig.year;
    pages=orig.pages;
}
 
book::~book(){
}
 
void book::setauthor(string inauthor){
    author=inauthor;
}
void book::settitle(string intitle){
    title=intitle;
}
void book::setpublisher(string inpublisher){
    publisher=inpublisher;
}
void book::setyear(int inyear){
    year=inyear;
}
void book::setpages(int inpages){
    pages=inpages;
}
 
string book::getauthor(){
    return author;
}
string book::gettitle(){
    return title;
}
string book::getpublisher(){
    return publisher;
}
int book::getyear(){
    return year;
}
int book::getpages(){
    return pages;
}
 
void book::show(){
    cout<<"Book's author: "<<author<<"\n"
    <<"Book's title: "<<title<<"\n"
    <<"Book's publisher: "<<publisher<<"\n"
    <<"Book's year of release: "<<year<<"\n"
    <<"Number of pages in the book: "<<pages<<"\n \n";
}
Файл main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include "book.h"
#include <iostream>
#include <vector>
 
void menu(){
    cout<<"    Choose an option \n"
    <<"1: Add new books to the list \n"
    <<"2: Get a list of books of the same author \n"
    <<"3: Get a list of books with less pages than a certain amount \n"
    <<"4: Get a list of books published after a certain year: \n"
    <<"5: Close the program \n \n";
}
 
book donation(int iter){
    string newauthor;
    string newtitle;
    string newpublisher;
    int newyear;
    int newpages;
 
    cout<<iter<<" Enter the book's author: ";
    cin>>newauthor;
    
    cout<<" Enter the book's title: ";
    cin>>newtitle;
 
    cout<<" Enter the book's publisher: ";
    cin>>newpublisher;
 
    cout<<" Enter the book's year of release: ";
    cin>>newyear;
 
    cout<<" Enter the book's number of pages: ";
    cin>>newpages;
 
    book newbook(newauthor, newtitle, newpublisher, newyear, newpages);
 
    return newbook;
}
 
 
int main(){
    int amount;
    string key="";
    string prefauthor;
    int prefpages;
    int prefyear;
    vector <book> library={};
    while (1){
        menu();
        cin>>key;
        if (key=="1"){
            cout<<"\n How many books do you want to add? \n";
            cin>>amount;
            for (int i=0; i<amount; i++){
                book addbook=donation(i+1);
                library.push_back(addbook);
                cout<<"\n";
            }
        }
        else if (key=="2"){
            cout<<"Whose books do you want to see: \n";
            cin>>prefauthor;
            cout<<"\n";
            for (int i=0; i<library.size(); i++){
                cout<<"Book "<<i+1<<": \n";
                if (library[i].getauthor()==prefauthor){
                    library[i].show();
                }
            }
            system("pause");
        }
        else if (key=="3"){
            cout<<"How many pages are too many for you: \n";
            cin>>prefpages;
            cout<<"\n";
            for (int i=0; i<library.size(); i++){
                cout<<"Book "<<i+1<<": \n";
                if (library[i].getpages()<=prefpages){
                    library[i].show();
                }
            }
            system("pause");
        }
        else if (key=="4"){
            cout<<"Whose books do you want to see: \n";
            cin>>prefyear;
            cout<<"\n";
            for (int i=0; i<library.size(); i++){
                cout<<"Book "<<i+1<<": \n";
                if (library[i].getyear()>prefyear){
                    library[i].show();
                }
            }
            system("pause");
        }
        else if (key=="5"){
            break;
        }
        else{
            cout<<"kill yourself \n";
            system("pause");
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2025, 21:35
Ответы с готовыми решениями:

Ошибка компиляции при попытке записать строку в файл
Всем привет!Мне нужно записать в файл c помощью объекта вот таким образом fout &lt;&lt; &quot;@echo off...

Удаляется .exe файл
Здравствуйте, у возникла проблема с программой в плане того что после закрытия программы .exe файл...

Не удаляется аварийно завершенный exe файл
Здравствуйте, подскажите пожалуйста, почему не удаляется ехе файл, если он завершился аварийно....

37
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6136 / 2830 / 1039
Регистрация: 01.06.2021
Сообщений: 10,324
18.05.2025, 21:46
Добавь всю папку в исключения
0
Злостный нарушитель
 Аватар для Verevkin
10242 / 5670 / 1260
Регистрация: 12.03.2015
Сообщений: 26,265
18.05.2025, 21:48
Нергосеть код писала, да?
У меня он отлично компилится в ехе и стартует.
Пруфы вот:

Вложения
Тип файла: 7z xxx.7z (164.2 Кб, 3 просмотров)
1
0 / 0 / 0
Регистрация: 18.05.2025
Сообщений: 7
18.05.2025, 22:38  [ТС]
По поводу нейросети я оскорблен, по поводу добавления папки в исключения я антивирус вообще снес нахрен, изменений ноль
0
Злостный нарушитель
 Аватар для Verevkin
10242 / 5670 / 1260
Регистрация: 12.03.2015
Сообщений: 26,265
18.05.2025, 22:43
Цитата Сообщение от Драгонхартед Посмотреть сообщение
По поводу нейросети я оскорблен
Нам-то не гони! Оскорблён он...
0
Заблокирован
18.05.2025, 22:45
Цитата Сообщение от Драгонхартед Посмотреть сообщение
я антивирус вообще снес нахрен
А как же Защитник Windows?
0
0 / 0 / 0
Регистрация: 18.05.2025
Сообщений: 7
18.05.2025, 22:48  [ТС]
Я этому рад, но вот у меня он так не делает. А еще мне очень интересно, что в моем коде нейросетевого?

Добавлено через 44 секунды
сморозил фигню в последнем сообщении, думал, ответы на ответы тут выделяются. По поводу защитника его я тоже отключил
0
Заблокирован
18.05.2025, 22:51
Цитата Сообщение от Royal_X Посмотреть сообщение
Добавь всю папку в исключения
Перед тем как это делать, нужно всё же получить "зараженный" файл и проверить его на VirusTotal.
Не исключена вероятность вмешательства вредоносного ПО в процессе компиляции. На каком то этапе.
Слепое добавление всего в исключение - открыть двери перед злоумышленниками.

Добавлено через 3 минуты
Цитата Сообщение от Драгонхартед Посмотреть сообщение
удаляется ехе файл
Как вы это определили?
0
0 / 0 / 0
Регистрация: 18.05.2025
Сообщений: 7
18.05.2025, 22:53  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Как вы это определили?
у меня слева открыт список файлов в папке, в которой находится программа. в момент запуска имя файла перечеркивается и он исчезает, что обычно происходит при удалении
0
Заблокирован
18.05.2025, 23:30
Цитата Сообщение от Драгонхартед Посмотреть сообщение
программа. в момент запуска имя файла перечеркивается и он исчезает
Ну так добавьте в исключение папку, но не запускайте приложение, а отправьте на анализ.
Убедитесь что это ложное срабатывание и пользуйтесь на здоровье.
0
0 / 0 / 0
Регистрация: 18.05.2025
Сообщений: 7
18.05.2025, 23:45  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Ну так добавьте в исключение папку, но не запускайте приложение, а отправьте на анализ.
я вам еще раз скажу, проблема не в антивирусе.
в любом случае, я нашел, где посмотреть журнал событий, и прикол был вот в чем:

Code
1
2
3
4
5
6
7
8
9
10
main.cpp
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __cdecl book::book(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,int)" (??0book@@QEAA@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00HH@Z) в функции "class book __cdecl donation(int)" (?donation@@YA?AVbook@@H@Z).
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __cdecl book::book(class book const &)" (??0book@@QEAA@AEBV0@@Z) в функции "class book __cdecl donation(int)" (?donation@@YA?AVbook@@H@Z).
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __cdecl book::~book(void)" (??1book@@QEAA@XZ) в функции "class book __cdecl donation(int)" (?donation@@YA?AVbook@@H@Z).
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl book::getauthor(void)" (?getauthor@book@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) в функции main.
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl book::gettitle(void)" (?gettitle@book@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) в функции main.
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __cdecl book::getyear(void)" (?getyear@book@@QEAAHXZ) в функции main.
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __cdecl book::getpages(void)" (?getpages@book@@QEAAHXZ) в функции main.
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __cdecl book::show(void)" (?show@book@@QEAAXXZ) в функции main.
C:\Users\under\Desktop\projects\c++\kursach\main.exe : fatal error LNK1120: неразрешенных внешних элементов: 8
из того, что я понял, это ошибка компоновщика и я не вижу, чтобы какая-либо причина, указанная в интернете, соответствовала моему случаю. что делать я не знаю

Добавлено через 7 минут
Цитата Сообщение от SmallEvil Посмотреть сообщение
но не запускайте приложение, а отправьте на анализ.
и вообще его я написал, зачем мне его на анализ отправлять
0
Заблокирован
19.05.2025, 00:04
Цитата Сообщение от Драгонхартед Посмотреть сообщение
и вообще его я написал, зачем мне его на анализ отправлять
Действительно, я его написал, я его скопировал, я его от друга принес, зачем мне что то где то проверять.

Так судя по всему у вас файл даже не создался.
Как его мог кто то удалить?

Рассказываете тут сказки.
0
 Аватар для Pphantom
2249 / 1508 / 694
Регистрация: 17.03.2022
Сообщений: 4,822
19.05.2025, 00:06
А я, кажется, понял, что ТС называет "удалением exe-файла".

Он компилирует и собирает программу в какой-то среде, параллельно смотря на файлы в "проводнике" или как оно там сейчас называется. В процессе сборки выясняется, что она произошла с ошибками, поэтому созданная к этому моменту "заготовка" исполнимого файла ликвидируется. Никакого фактического запуска программы при этом не происходит, соответственно, всевозможные антивирусы и т.п. тут совершенно не при чем.
0
Заблокирован
19.05.2025, 00:08
Цитата Сообщение от Pphantom Посмотреть сообщение
собирает программу в какой-то среде
Где бы он её не собирал, он не подключил второй cpp файл.
0
0 / 0 / 0
Регистрация: 18.05.2025
Сообщений: 7
19.05.2025, 00:21  [ТС]
Цитата Сообщение от Pphantom Посмотреть сообщение
А я, кажется, понял, что ТС называет "удалением exe-файла"
прошу простить мою техническую неграмотность, я студент первокурсник в относительно посредственном вузе и таких тонкостей нам не преподавали.

Добавлено через 1 минуту
Цитата Сообщение от SmallEvil Посмотреть сообщение
он не подключил второй cpp файл.
я в моменте так же подумал, и, либо я не знаю, как подключать cpp файлы, либо проблема не в этом, поскольку на строку #include "book.cpp" компилятор ругается. К тому же, в начале было сказано, что онлайн компиляторы со своей задачей справляются
0
Заблокирован
19.05.2025, 01:42
Опишите как вы компилируете.
Какой компилятор/IDE(среда разработки)?

Добавлено через 1 минуту
Цитата Сообщение от Драгонхартед Посмотреть сообщение
онлайн компиляторы со своей задачей справляются
Онлайн сервисы сами формируют команду для компилятора, компилируют все *.cpp файлы и включают их в компоновку.
Вы этого не сделали.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6136 / 2830 / 1039
Регистрация: 01.06.2021
Сообщений: 10,324
19.05.2025, 01:47
SmallEvil, судя по ошибкам, у ТС Visual Studio...
0
0 / 0 / 0
Регистрация: 18.05.2025
Сообщений: 7
19.05.2025, 03:02  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Какой компилятор/IDE(среда разработки)?
вс код. как я нашел в инете, мне нужно создать файл конфигурации запуска?

Добавлено через 25 минут
я идиот, не разобрался в теме, прошу у всех прощения за потраченное время. нужно было прописывать команду компилятору
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
19.05.2025, 13:16
Драгонхартед,
Цитата Сообщение от Драгонхартед Посмотреть сообщение
я студент первокурсник в относительно посредственном вузе и таких тонкостей нам не преподавали.
даже в хороших вузах это не то чтобы явно преподают. Обучение деталям обращения со средой разработки - это не ВУЗовский предмет, этому все учатся самостоятельно. И вообще большая часть учёбы студента должна быть самообразованием.

Добавлено через 1 минуту
Цитата Сообщение от Драгонхартед Посмотреть сообщение
из того, что я понял, это ошибка компоновщика и я не вижу, чтобы какая-либо причина, указанная в интернете, соответствовала моему случаю. что делать я не знаю
ну как минимум, не считать, что кто-то удаляет экзе-файл, не вводить нас в заблуждение. В программе ошибка - надо её исправлять.
0
 Аватар для Pphantom
2249 / 1508 / 694
Регистрация: 17.03.2022
Сообщений: 4,822
19.05.2025, 13:42
Цитата Сообщение от Драгонхартед Посмотреть сообщение
прошу простить мою техническую неграмотность, я студент первокурсник в относительно посредственном вузе и таких тонкостей нам не преподавали.
Как уже выше написал Kuzia domovenok, тут особо нечего преподавать, нужные познания вырабатываются сами. Единственное, что стоило бы сделать - попробовать какое-то время поработать без IDE, чтобы стало понятнее, как все это устроено.

Тут, судя по всему, вы просто забыли добавить в "проект" или что-то подобное book.cpp, проблема даже не в ошибке в программе, а в том, что линкуется в итоге один модуль вместо двух.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.05.2025, 13:42
Помогаю со студенческими работами здесь

При попытке компиляции на ноутбуке вылезает данная ошибка. Что это?
Вот текст ошибки. Причем на чужом ноуте компилилось нормально, здесь вдруг траблы какие-то. С...

Ошибка при попытке компиляции и последующего запуска программы
Доброго времени суток! Недавно появился один глюк, который очень сильно напрягает и который я уже...

Ошибки компиляции при попытке использования boost::filesystem
Имею простейший пример : #include &lt;boost/filesystem.hpp&gt; #include...

Ошибка при попытке компиляции стороннего проекта
В общем это мой первый опыт работы с либами от сторонних пользователей, а так как это C++, тут все...

Ошибка при попытке компиляции через GCC
https://www.cyberforum.ru/attachment.php?attachmentid=1481175&amp;stc=1&amp;d=1723539913 вот что пишет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru