Eclipse не выпускает .exe после запуска - PullRequest
2 голосов
/ 03 августа 2020

Я использую следующее программное обеспечение: Eclipse 20190917-1200, minGW GCG, Windows 10.

Я использую мастер «C ++ Managed Build» и выбираю «Hello World C ++ Project». Затем я создаю программу, нажимая CTRL + B, и получаю следующий результат.

Info: Internal Builder is used for build
g++ -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\HelloWorld.o" "..\\src\\HelloWorld.cpp" 
g++ -o HelloWorld.exe "src\\HelloWorld.o" 

15:22:23 Build Finished. 0 errors, 0 warnings. (took 1s.262ms)

Я также могу запустить HelloWorld.exe в eclipse и увидеть «Hello World» в консоли. Пока все в порядке.

Затем я делаю небольшое изменение в строке 14 и заменяю cout << "Hello World" << endl; // prints Hello World на cout << "Hello World again" << endl; // prints Hello World

и снова пытаюсь построить. Произойдет сбой со следующей ошибкой:

Info: Internal Builder is used for build
g++ -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\HelloWorld.o" "..\\src\\HelloWorld.cpp" 
g++ -o HelloWorld.exe "src\\HelloWorld.o" 
C:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot open output file HelloWorld.exe: Permission denied
collect2.exe: error: ld returned 1 exit status

15:26:16 Build Failed. 1 errors, 0 warnings. (took 1s.111ms)

Таким образом, похоже, что HelloWorld.exe все еще запущен. Однако Eclipse сообщает, что он был прекращен. И также нет процесса HelloWorld.exe, отображаемого в диспетчере задач.

Сначала я не могу удалить файл «HelloWorld.exe» в Eclipse или Windows (в разрешении отказано). Когда я закрываю eclipse, .exe можно удалить, и я могу построить снова.

Кажется, что какая-то часть eclipse читает .exe и не позволяет мне удалить его, но я действительно понятия не имею, что это могло быть.

...