Kiểm tra window đã có mingw chưa

Kiểm tra window đã có mingw chưa
Lỗi biên dịch MinGW - Permission Denied - Window 10

Vẫn biết là lỗi này quá phổ biến, đã có hàng trăm topic và được thảo luận lên xuống tại đủ các diễn đàn khác nhau, eclipse forum, stackoverflown, ... nhưng em vẫn phải hỏi, vì với đủ mọi cách được gợi ý, dòng chữ ác nghiệt permision denied vẫn hiện lên trên máy em. Như một trò đùa ~

Quy ước:

file nguồn: file.c;
file exe đã được biên dịch: file.exe;
folder chứa file nguồn và file exe: folder

Thông tin về máy tính & vài thứ khác:
Window 10; 64 bit
Đã sử dụng Eclipse Oxygen, Notepad, Notepadd ++ và nhận ra IDE không có liên quan đến lỗi này.
Sử dụng MinGW
Đã test compile trực tiếp bằng cmd - vẫn lỗi.

Chi tiết về lỗi:
1. Vài nét về file.c -> hết sức bình thường cho đến những file phức tạp, đều không có ngoại lệ. Ví dụ:

Code:

/*
#include "function000.h"
#include "function001.h"
int main(void){
	//function000();
	function001();
	return 1;
}

2. Xuất hiện: Lúc nào cũng thế, lỗi xuất hiện tại lần thứ hai, sau khi biên dịch đè lên file exe cũ.
Lần thứ nhất compile hoàn toàn thành công, không bị lỗi gì hết, file.exe (1) trong debug folder hoàn toàn ổn. Lần thứ 2 thì khác - Eclipse IDE (và cả cmd) báo lỗi

ld.exe: cannot open output file … : Permission denied


3. Chi tiết về file exe (2) - (file đã bị lỗi), em không có quyền làm BẤT KÌ THỨ GÌ với cái file exe này. Kể cả với quyền hạn là admin

4. Sau khi tắt máy, khởi động lại, file.exe(2) hoạt động bình thường. Thậm chí thỉnh thoảng nó còn biến mất không báo trước. Nhấn mạnh lại là biến mất. Tóm lại là sau khi restart máy, mọi thứ đều ok, cho đến một lúc sau thì lại bị lại

Kiểm tra window đã có mingw chưa

Vài cách đã thử - và thất bại
1. Kiểm tra - kill file exe đang chạy :

Em đã kiểm tra và chắc chắn rằng không có file exe nào đang chạy hết. file.exe(1) đã dừng hoàn toàn.
(Nếu được, mong các anh chị em một cách tốt hơn để kiểm tra. Em dùng taskmanager thôi.)

2. Chỉnh sửa Application Experiences trong Window:

Đã làm, và không có thay đổi

3. Chạy IDE dưới quyền Admin:

Đã làm, và không có thay đổi. Em cũng thử luôn chạy cmd dưới quyền admin.

4. Copy file ra ổ khác:

Chưa thử, mới chỉ đưa file sang document; Kết quả: Thất bại.

5. Vô hiệu hóa chuơng trình diệt virus, firewall:

Đã tắt firewall + scan của McAfee; Kết quả: Thất bại.

Đó là tất tần tật vẫn đề em gặp phải, hy vọng các pro ở đây động lòng cứu giúp

Kiểm tra window đã có mingw chưa

Cảm ơn mọi người rất nhiều!

Cách xử lí tạm thời

Vừa cập nhập
Sau một hồi ức chế, mình quyết định dùng cách sau để xử lí:

Ngay sau khi compile xong file.exe(1), nếu cần thay đổi gì, trước khi compile file.exe(2); mình sẽ xóa file.exe(1) trước, sau đó mới biên dịch.

Hôm qua, áp dụng trò này, mọi thứ suôn sẻ. Thì đến hôm nay, định xài lại thì ngay lần chạy đầu tiên, chương trình nó đã báo lỗi. Mình thật không biết lý do làm sao?

Bổ sung Mình vừa khám phá ra rằng mình phải xóa cả folder debug, gồm file exe và file main.o thì mới được?

Một lần nữa, mong mọi người giúp đỡ.

P/S: Một ông anh nào đó bảo em bỏ quách đi và cài Linux ~
Cập nhập:
1. Thử sửa bằng cách vô hiệu hóa trình diệt virus McAfee -> Thất bại
2. Cập nhập phương án tạm thời. -> Mong mọi người tham khảo

Đã được chỉnh sửa lần cuối bởi sonnguyen9800 : 27-10-2017 lúc 11:19 AM.


Nếu mình nhớ không lầm, bản thân Windows còn 1 chương trình tự phòng vệ mã độc tên là Defender gì đó.

Mình cũng đã có vài lần bị lỗi ld.exe như bạn mô tả nhưng chỉ dùng đến 1 - 2 cách mà bạn đã dùng là đã giải quyết được. Bản thân mình chưa bao giờ đụng phải một tình huống phức tạp như của bạn và chưa bao giờ đụng đến Defender nên gợi ý của mình chỉ là 1 giả thuyết. Nếu sai, mong bạn bỏ qua.

Đã được chỉnh sửa lần cuối bởi Ada : 26-10-2017 lúc 09:37 PM.

-...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.


Tôi có dùng MinGW, cũng trên win10, 64bits, tôi chưa bị trường hợp như trên:
Kiểm tra window đã có mingw chưa

Các lệnh tôi sử dụng đều trên cmd, version minGW là cũ

  1. F:\_Works\_CV_>c++ --version

  2. c++ (tdm-1) 4.9.2

  3. Copyright (C) 2014 Free Software Foundation, Inc.

  4. This is free software; see the source for copying conditions.  There is NO

  5. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Tôi xài dbl-boot, 3 hệ điều hành (hiện không có cài Linux)

Đã được chỉnh sửa lần cuối bởi Monre : 27-10-2017 lúc 04:46 AM.


Kiểm tra window đã có mingw chưa
Nguyên bản được gửi bởi Ada
Kiểm tra window đã có mingw chưa

Nếu mình nhớ không lầm, bản thân Windows còn 1 chương trình tự phòng vệ mã độc tên là Defender gì đó.

Mình cũng đã có vài lần bị lỗi ld.exe như bạn mô tả nhưng chỉ dùng đến 1 - 2 cách mà bạn đã dùng là đã giải quyết được. Bản thân mình chưa bao giờ đụng phải một tình huống phức tạp như của bạn và chưa bao giờ đụng đến Defender nên gợi ý của mình chỉ là 1 giả thuyết. Nếu sai, mong bạn bỏ qua.

Sẽ kiểm tra, cảm ơn bạn đã góp ý!

Mình vừa mới cập nhập một phương án giải quyết tạm thời. Các bạn lội lại lên post 1 để xem nhé!

Đã được chỉnh sửa lần cuối bởi sonnguyen9800 : 27-10-2017 lúc 11:17 AM.