Cannot open output file: bin\Debug\PrimeChecker.exe Permission denied - c++

so I get this error when I run my program:
cannot open output file bin\Debug\PrimeChecker.exe Permission denied
I've already searched this and have found that none of the solutions other people had, applied to me.
Things I have already done:
Changed the directory
Reinstall CodeBlocks
Checked task-manager with anything starting with CodeBlocks (is it maybe listed as something else)
I had no problem running CodeBlocks before this happened and then it just started happening out of the blue.
I'm running on windows 7, if that helps...

Make sure PrimeChecker.exe is not running (for example, in the debugger) when you build. Chances are - this is your problem.
You can go to bin\Debug\PrimeChecker.exe , and try to delete it. you'll probably will not be able to. so find out who is holding a handle for it. I like to use peocessExplorer for this (download free from MS)

It seems the file you are trying to open in your program hasn't read permission. you should change your file permission to be able to write or read to them. this links should be helpful to change your system file permission or attributes.
http://support.microsoft.com/kb/308419
http://www.wikihow.com/Change-File-Permissions-on-Windows-7

Related

How can I solve this error in OMNest 5.5.1?

I get the following error:
Exception occurred executing command line.
Cannot run program "C:/OMNEST-5.5.1/samples/enera/lteAdvanced/enera.exe" (in directory "C:\OMNEST-5.5.1\samples\enera\lte"): CreateProcess error=2, The System cannot find the file.
I already built the project many times. I have tried to make a simplier already given example from omnet just to check if this is working. It is working. But if I copy this example in my Project it also doesn't work, so there is sth wrong with my Project file. But it seems to be correct. I just have one Connection and kept it really really simple. But it doesn't work. I have installed Omnest and inet correctly.
The most likely cause is that the EXE file cannot find the omnet++ dynamic libraries it tries the load. And the most likely reason is that you are trying to execute the executable from a CMD prompt instead of from the shell provided by the mingwenv.cmd script.
Everything you do in OMNeT++ (including starting the simulations) must be run from the mingwenv shell.

how I can figure out where the output of my software is printed?

I just installed Sympol in my Ubuntu. Sympol is an open source software in the mathematics. My problem is that when I run sympol on some input data, I don't know where the output is printed. here in page 6 of this pdf (http://www.math.uni-rostock.de/~rehn/software/sympol-manual-0.1.pdf), it says the output is in .ine or .ext format but I don't know where is these output files!!!!!! please help me if you understand how it works. and it is the website of sympol for installation. http://www.math.uni-rostock.de/~rehn/software/sympol.html
I should add that when it says: Segmentation fault
Ubuntu: Assuming your app is actually running properly and you have root permissions, open another terminal, install and run fatrace, and watch for file output. When running, fatrace prints all files touched in real-time, so you should be able to see your output file's location if it's getting output.
Reading the docs again and again is almost always the correct answer, but if in this case the documentation is that bad, then watching for the file getting written is another good way to figure it out.
Windows: Sysinternals procmon (you can get it from Microsoft) can achieve the same result.

'Cannot output file filename.exe Permission denied' error in C++ Code::Blocks

I got this error a while ago when compiling a project, and I've gotten it every few days since then, even in different projects, and the only solution that worked is restarting. Some people said to open task manager and close the file, but I couldn't find the file. Some people said to delete main.o in the obj/Debug or obj/Release folder, but they just reappeared when I compile. What else should I try? It's really inconveniencing having to restart every time it pops up.
check where you put the project maybe is in a file you have no access to it
run Code::Blocks as admin
make sure the program is not still running go to task manager and kill it
Don't just look under which programs are running
Check the processes list (Background Processes)and see if you can find a process running by the same name as your file.
Right click the process name
Choose end task. See if that works. It seems to have worked for
me.

C++ file permissions when automatically started by Windows on login

Problem: my C++ program cannot write to a file after reboot because it is denied access.
The program is added into the registry at the following location, thus enabling it during start up:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
The following snipper within the code is similar to the one that is causing the problems:
ofstream myfile;
myfile.open ("example.txt", ios:app);
myfile << "Writing this to a file.\n";
myfile.close();
Because this snippet of code runs within a loop the file is repeatedly opened and closed, but when the computer is rebooted the program seems to loose file permissions to it, and .open says it got an Acess Denied error with respect to the file.
What is the problem here? How come the program runs when it is initiated by me without admin rights, but not when Windows initiates it?
As I understand the problem is not in C++ libs but in rights that your application has when windows run it. So, try the following:
1) create shortcut for your exe-file;
2) in HKEY_CURRENT_USER\...\Run change name of application from *.exe to *.lnk (just to run application with help of shortcut);
3) in the shortcut's properties in the Advanced Security Settings section change OWNER to SYSTEM.
perhaps this helps.
"example.txt" is relative to your working directory, which is probably different when run at startup. Add a hardcoded path to test this hypothesis.

"Cannot Open a.exe" Error in C++

I'm trying to compile my C++ program, but when I press the "Build" button, it displays the following error message:
c:/gnat/2010/bin/../libexec/gcc/i686-pc-mingw32/4.3.6/ld.exe:
cannot open output file a.exe: Invalid
argument collect2: ld returned 1 exit
status
This is not the first time it has done this. It seems to do this most when I have been editing the same project a lot and building it often, almost as if something has been flooded, or overloaded, or something.
I had fixed it before, I believe, by restarting my PC, but I can't afford to keep restarting my PC every time this occurs.
I thought this was just a one-time problem, but it has continued to happen and so I thought I'd look for more help on this.
I found another SO question that I thought had the same error message/problem as I had. However, when I tried the solutions listed on afore-linked question, nothing helped.
Has anyone else had this issue? Or does anyone know how I can fix this issue (besides restarting my computer every time)?
I am developing in jGrasp also, if that helps any.
EDIT: I just wanted to add that I thought it might be that my previous executable was still running in the background, but even if I close my IDE, it still won't let me delete the executable, because it says it is still running.
I checked my process explorer to see if the a.exe was still running, but there's absolutely nothing in my processes that has to do with jGrasp or a.exe
I guess your executable is still running. It's the only reason I think about... I guess the best is to check on your task manager (process Explorer is your friend ;)).
In Visual Studio Code, go to Settings -> Search for "clear previous" in the search bar and check on the box named "clear previous output". :)
It is happening because your previous output is already running in the background. And VS Code offers a feature to close that on every run.
EDIT: it's nothing to do with collect2.exe.
Do you get any other error text, like for example 'permission denied errors' etc.
http://max.berger.name/howto/cdt/ar01s05.jsp
It is beacause the .exe is still running. If you're on Windows use the command line del -f a.exe and if you're on linux use rm -rf ./a.out
I have the same problem, was worried for hours. I disabled my avg antivirus and it worked.