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

Странная ошибка makefile.win

01.05.2017, 19:29. Показов 21863. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Код:

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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
int main(int argc, char** argv) 
{ 
cout << "Enter num1 +-/* num2" << endl;
int x, y;
char r;
cin >> x >> r >> y;
    if (r=='+')
    {
        cout << x + y << endl;
    }
    else if (r=='-')
    {
        cout << x - y << endl;
    }
    else if (r=='/')
    {
        cout << x / y << endl;
    }
    else if (r=='*')
    {
        cout << x * y << endl;
    }
    system ("pause");
}
При попытке скомпилировать, говорит:
cannot open output file Project 4.exe: Permission denied
[Error] ld returned 1 exit status
recipe for target '4.exe"' failed

После чего открывается файл "Makefile.win", с текстом:

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
# Project: Project 4
# Makefile created by Dev-C++ 5.11
 
CPP      = g++.exe
CC       = gcc.exe
WINDRES  = windres.exe
OBJ      = E:/main.o
LINKOBJ  = E:/main.o
LIBS     = -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32" -static-libgcc -m32
INCS     = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include"
CXXINCS  = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++"
BIN      = "Project 4.exe"
CXXFLAGS = $(CXXINCS) -m32
CFLAGS   = $(INCS) -m32
RM       = rm.exe -f
 
.PHONY: all all-before all-after clean clean-custom
 
all: all-before $(BIN) all-after
 
clean: clean-custom
    ${RM} $(OBJ) $(BIN)
 
$(BIN): $(OBJ)
    $(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
 
E:/main.o: E:/main.cpp
    $(CPP) -c E:/main.cpp -o E:/main.o $(CXXFLAGS)
При этом, строка:

$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)

Подсвечивается красным.

Редактор: Dev-C++. В чем может быть дело? Несколько раз программа запустилась нормально, потом это.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2017, 19:29
Ответы с готовыми решениями:

Dev C++ и Makefile.win
При попытке скомпилировать проект или исходник, выдаётся ошибка Id 1, но в случае компиляции как...

Makefile.win has changed
всем привет, помогите пожалуйста какой уже раз пытаюсь скомпилировать простенькую програмку, а у...

Make, makefile, simple makefile, hello_world
Всем привет! Разбираюсь с мэйк-файлами. Проблема следующая: не понятен сам принцип обработки...

Ошибка при выполнении makefile на windows7 x64
Здравствуйте! Читаю вот эту серию статей. Стянул с github исходникик, думал запущу - посмотрю....

10
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
01.05.2017, 19:50 2
у вас там от предыдущих запусков не осталось висячих процессов "Project 4.exe"? если остались - их надо прибить. может дело в том, что иде не может редактировать екзешник, потому что процесс запущен и винда залочила этот файл на изменения.
0
0 / 0 / 1
Регистрация: 12.10.2015
Сообщений: 54
01.05.2017, 20:03  [ТС] 3
Нет, но через некоторое время файл удаляется и я снова могу его компилировать. При попытке новой компиляции снова эта ошибка на какое-то время.
0
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
01.05.2017, 20:09 4
ну значит кто-то держит этот екзешник. почему и кто - хз. в момент появления ошибки бегите к файлу и попробуйте удалить. если не удаляется - значит точно кто-то держит. попробовать понять, кто его держит можно чем-нибудь типа процессмонитора https://technet.microsoft.com/... 96645.aspx. может это антивирус, может еще кто, а может процесс все-таки висит и ждет нажатия эникея судя по последней строке вашего кода.
0
0 / 0 / 1
Регистрация: 12.10.2015
Сообщений: 54
01.05.2017, 20:22  [ТС] 5
Антивируса нет, держать ничего, кроме самого cpp, не может.
Кстати, заметил, что при закрытии консоли при первом нажатии консоль пишет время закрытия, и нужно нажать еще раз, чтобы программа закрылась. Раньше такого не было.
0
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
01.05.2017, 20:26 6
ну раз "держать ничего, кроме самого cpp, не может" а файл что-то держит - остается одно: это происки дьявола. обратитесь в ближайшее отделение РПЦ за святой водой, попшикайте на клавиатуру. может поможет.
0
0 / 0 / 1
Регистрация: 12.10.2015
Сообщений: 54
01.05.2017, 20:46  [ТС] 7
Экзорцист оказался бессилен. Боюсь, придется обратится к аккаунту с правами..... АДМИНИСТРАТОРА!
Мало ли, может у меня доступа нет, надо с админского аккаунта зайти.
0
1 / 1 / 1
Регистрация: 20.07.2017
Сообщений: 32
12.01.2018, 01:31 8
Точно такая же ошибка возникает и у меня: в основном, она появляется тогда, когда, "серфируя" по интернету в поисках и изучении наличия хороших кодов и программ, я, отыскивая такой код, копирую его и вставляю в свой главного файла с функцией main. Обычно код, скопированный, в котором содержатся обычные управляющие операторы, арифметические операции и прочие начальные вещи - не конфликтует с компилятором. Но если же в коде, который я пытаюсь "скопипастить", присутствуют различного рода функции не совсем известного мне описания (код представлен ниже), то выдается такая же ошибка линковщика (компоновщика) - $(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
C++
1
2
3
4
5
6
7
8
9
10
11
POINT op;
    HWND hWnd=GetConsoleWindow();
    HDC hDC=GetDC(hWnd);
    SelectObject(hDC,GetStockObject(WHITE_PEN));   // СКОПИРОВАННЫЙ КОД
 
    MoveToEx(hDC,50,50,&op);
    LineTo(hDC,100,200);
 
    ReleaseDC(hWnd,hDC);
    std::cin.get();
    return 0;

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
# Project: Проект1
# Makefile created by Dev-C++ 5.11
 
CPP      = g++.exe
CC       = gcc.exe
WINDRES  = windres.exe
RES      = ../Project2/Project1_private.res
OBJ      = ../Project2/main.o ../Project2/GradeBook.o ../Project2/Account.o $(RES)
LINKOBJ  = ../Project2/main.o ../Project2/GradeBook.o ../Project2/Account.o $(RES)
LIBS     = -L"D:/Program Files/Dev-Cpp/MinGW64/lib32" -L"D:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32" -static-libgcc -m32
INCS     = -I"D:/Program Files/Dev-Cpp/MinGW64/include" -I"D:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"D:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include"
CXXINCS  = -I"D:/Program Files/Dev-Cpp/MinGW64/include" -I"D:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"D:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"D:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++"
BIN      = Project1.exe
CXXFLAGS = $(CXXINCS) -m32
CFLAGS   = $(INCS) -m32
RM       = rm.exe -f
 
.PHONY: all all-before all-after clean clean-custom
 
all: all-before $(BIN) all-after
 
clean: clean-custom
    ${RM} $(OBJ) $(BIN)            
 
$(BIN): $(OBJ)
    $(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
 
../Project2/main.o: main.cpp
    $(CPP) -c main.cpp -o ../Project2/main.o $(CXXFLAGS)
 
../Project2/GradeBook.o: GradeBook.cpp
    $(CPP) -c GradeBook.cpp -o ../Project2/GradeBook.o $(CXXFLAGS)
 
../Project2/Account.o: Account.cpp
    $(CPP) -c Account.cpp -o ../Project2/Account.o $(CXXFLAGS)
 
../Project2/Project1_private.res: Project1_private.rc 
    $(WINDRES) -i Project1_private.rc -F pe-i386 --input-format=rc -o ../Project2/Project1_private.res -O coff
Миниатюры
Странная ошибка makefile.win  
0
1 / 1 / 1
Регистрация: 20.07.2017
Сообщений: 32
12.01.2018, 01:32 9
Точно такая же ошибка возникает и у меня: в основном, она появляется тогда, когда, "серфируя" по интернету в поисках и изучении наличия хороших кодов и программ, я, отыскивая такой код, копирую его и вставляю в свой главного файла с функцией main. Обычно код, скопированный, в котором содержатся обычные управляющие операторы, арифметические операции и прочие начальные вещи - не конфликтует с компилятором. Но если же в коде, который я пытаюсь "скопипастить", присутствуют различного рода функции не совсем известного мне описания (код представлен ниже), то выдается такая же ошибка линковщика (компоновщика) - $(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
C++
1
2
3
4
5
6
7
8
9
10
11
POINT op;
    HWND hWnd=GetConsoleWindow();
    HDC hDC=GetDC(hWnd);
    SelectObject(hDC,GetStockObject(WHITE_PEN));   // СКОПИРОВАННЫЙ КОД
 
    MoveToEx(hDC,50,50,&op);
    LineTo(hDC,100,200);
 
    ReleaseDC(hWnd,hDC);
    std::cin.get();
    return 0;

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
# Project: Проект1
# Makefile created by Dev-C++ 5.11
 
CPP      = g++.exe
CC       = gcc.exe
WINDRES  = windres.exe
RES      = ../Project2/Project1_private.res
OBJ      = ../Project2/main.o ../Project2/GradeBook.o ../Project2/Account.o $(RES)
LINKOBJ  = ../Project2/main.o ../Project2/GradeBook.o ../Project2/Account.o $(RES)
LIBS     = -L"D:/Program Files/Dev-Cpp/MinGW64/lib32" -L"D:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32" -static-libgcc -m32
INCS     = -I"D:/Program Files/Dev-Cpp/MinGW64/include" -I"D:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"D:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include"
CXXINCS  = -I"D:/Program Files/Dev-Cpp/MinGW64/include" -I"D:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"D:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"D:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++"
BIN      = Project1.exe
CXXFLAGS = $(CXXINCS) -m32
CFLAGS   = $(INCS) -m32
RM       = rm.exe -f
 
.PHONY: all all-before all-after clean clean-custom
 
all: all-before $(BIN) all-after
 
clean: clean-custom
    ${RM} $(OBJ) $(BIN)                                                                       // КОД ЛИНКОВЩИКА ПОСЛЕ КОМПИЛЯЦИИ
 
$(BIN): $(OBJ)
    $(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
 
../Project2/main.o: main.cpp
    $(CPP) -c main.cpp -o ../Project2/main.o $(CXXFLAGS)
 
../Project2/GradeBook.o: GradeBook.cpp
    $(CPP) -c GradeBook.cpp -o ../Project2/GradeBook.o $(CXXFLAGS)
 
../Project2/Account.o: Account.cpp
    $(CPP) -c Account.cpp -o ../Project2/Account.o $(CXXFLAGS)
 
../Project2/Project1_private.res: Project1_private.rc 
    $(WINDRES) -i Project1_private.rc -F pe-i386 --input-format=rc -o ../Project2/Project1_private.res -O coff
0
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 153
14.06.2019, 19:06 10
Цитата Сообщение от almarc Посмотреть сообщение
Кстати, заметил, что при закрытии консоли при первом нажатии консоль пишет время закрытия, и нужно нажать еще раз, чтобы программа закрылась. Раньше такого не было.
В Dev-C++ откомпилированный код открывается не просто так, а через ConsolePauser.exe. Он сначала выполняет программу, а после её завершения выводит время выполнения и возвращённое значение и ждёт нажатия любой клавиши.
В общем, скорее всего в настройках что-то поменяли.
Миниатюры
Странная ошибка makefile.win   Странная ошибка makefile.win  
0
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 153
15.06.2019, 13:18 11
Чтобы отключить эту функцию, перейди на Сервис -> Параметры среды и убери галочку с Pause console programs after return
Миниатюры
Странная ошибка makefile.win  
Изображения
 
0
15.06.2019, 13:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2019, 13:18
Помогаю со студенческими работами здесь

C:\Dev-Cpp\Makefile.win [Build Error] [Безымянный1.o] Error 1
C:\Dev-Cpp\Makefile.win Error 1 компилятор стал показывать такую ошибку, после того как я...

Странная ошибка после инклуда заголовочного файл Win DDK
Доброго всем времени суток.:) После добавления этого: #include &quot;cfgmgr32.h&quot; // стандартый...

При запуске Makefile выдается ошибка "Makefile:2: recipe for target 'all' failed"
решила поучиться собирать проекты через мэйкфайлы. Пожалуйста, помогите разобраться all:...

Ошибка в makefile
makifile # Исходные объектные модули SOURCES=init.o main.o # Флаги компилятора языка C...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru