When creating a simple Remote C++ Development application in Netbeans, I get the following error:
gmake[2]: Entering directory '/path/to/project'
gmake[2]: *** No rule to make target '/path/to/project/cpp/file'
gmake[2]: Leaving directory '/path/to/project'
BUILD FAILED (exit value 2, total time: 1s)
To reproduce this error I simply create a new C/C++ Project, select a remote host that I have already configured. When I add a .ccp file with a corresponding .h file, I get this error. I don't even necessarily have to use or include those files with anything. It appears that Netbeans may not properly build the Makefile to represent the addition of those files to the project?
The problem is, I was using absolute paths for my project. Lesson learned, when developing remote projects using Netbeans, you can not use absolute paths unless the locations of the projects on both machines match exactly.
To configure Netbeans to use relative paths, click the "Tools" option in the menu bar and select "Options". Click the "C/C++" button at the top, and go to the "Project Options" tab. the second option, "File Path Mode:" needs to be set to "Always Relative". This will allow the Makefile to correctly find and compile the file.
Well, considering the output you must have added a file to the makefile (or Netbeans did) that isn't there where it is supposed to be. Therefore it thinks that it is a undeclared target, as targets, the actual target depends on, and the .cpp files the target depends on to compile, are in the same line. I would suggest that you make sure that the makefile is in the correct place and therefore if you follow the exact path you should end up where the file should be, or you configure the vpath variable to consider the directory where the file should be. Else this might give further help as the error message does sound quite the same.
Related
I use qtcreator and have imported my project with New->Import Existing Project (this is the kind of project i need help with).
When compiling and having errors, the error messages shows up in the "Compile Output"-panel like so:
In file included from ../../src/tasklist.cpp:1:
../../src/tasklist.h:74:9: error: expected member name or ';' after declaration specifiers
But because file paths is specified relative to the build path and not to the root path, qtcreator fails to parse the messages and put annotations in code and in the "Issues"-panel. This slows work considerably compared to having the errors marked out by the editor.
How do I make qtcreator recognize the paths in the error message?
I'm running ubuntu, but the problem exists also when i compile with ninja in windows.
I have tried to write a custom error matcher, that picks up the pattern in the editor view, but it does not seem to run, when building. The build is also set to the directory where the compiler messages assumes that you originate from.
I've currently got it working with the following custom error message capture pattern:
(.*):(\d+):\d+: error: (.*)
My build folder is in a custom location, so I believe it's handling the file paths correctly.
If the parser doesn't seem to be running at all, then I don't think the file paths are the problem. For example, if I change my custom parser so the filename and line number are swapped, the parser still runs, but when I double-click the issue in the "Issues" panel, it says something like "File not found: 5". So, if the file paths are the only problem, it should still parse into issues.
VS2017, SDK/WDK, C++ project
we have a c++ solution (driver) that is shared across developers via Team Foundation Services - visualstudio.com (now called azure devops?).
When I perform a get latest source code, and want to rebuild the solution I get two MSB3030 errors:
"Could not copy the file "C:\path of my colleague his file" because it was not found."
I found it strange that I saw on one of the two errors a path of my colleague his pc. He works on C:\ I'm working on E:\
Unloading the project, I saw he path being set here:
<ItemGroup>
<FilesToPackage Include="C:\path of my colleague\foo.xml" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PackageRelativeDirectory>
</PackageRelativeDirectory>
</FilesToPackage>
We cannot get this solution to build because of the MSB3030. First we have to clean the specific projects individually, rebuild it, then build another project etc.. a few steps to perform manually in the correct order , trial and error, drinking coffee, throwing bananas to the pc and praying that a monkey outputs the code correctly.
Has anyone seen somehting similar regarding MSB3030 errors?
On my pc I see the path of my colleague, but he doesn't see my path (strange!).
C:\Program Files (x86)\Windows
Kits\10\build\WindowsDriver.common.targets(1699,5): error MSB3030:
Could not copy the file 'C:...' because it was not found.
I've set the Any CPU to x64 because it doesn't make any sense for c++.
C++ Windows Driver MSB3030 could not copy the file '' because it was not found
The reason for this issue is that the path of the ItemGroup is an absolute path in the project file:
<ItemGroup>
<FilesToPackage Include="C:\path of my colleague\foo.xml" ...>
...
</FilesToPackage>
</ItemGroup>
Regardless of whether your colleague has added this file to source control, when you pull the code from the TFS server to your local and put the code in a different local folder, the absolute path will bring you a lot of trouble, you need to manually check the code on the TFS server for this file and you need to modify the absolute path of this file in your project. But this problem will reappear after your colleague updates after you submit your code. Because an absolute path cannot be assigned to two different paths C:\ and E:\.
To resolve this issue, you need to change the absolute path to a relative path in the source code. Generally, we prefer to add this file to the Solution/Project folder, then use the MSBuild Macros $(SolutionDir)/$(ProjectDir) to specify it.
Check Common macros for build commands and properties for some more details.
Hope this helps.
When I build, it succeeds with no errors. However, when I run from the IDE, I get an error (my image fails to load because it cannot find the directory).
However, if I go into the folder and run the program(.exe) it finds the image directory perfectly.
mTextures.Load(Textures::Background, "../GFX/Background.png");
^the line of code giving the directory.
I assume this is a problem with a setting I didn't enter correctly in my compiler?
I am using Code::Blocks on Windows.
Your debugger's current directory (i.e. the current directory used when you execute the application from within codeblock) is probably incorrect. Check your project settings, and fix the current directory to your target directory (the one which contains the executable itself).
Specific instructions are here.
It's because you're using a relative path in your file name:
"../GFX/Background.png"
the .. is saying "go up one directory form the current directory". If you want to be able to run your program anywhere, use an absolute path, something like:
"/home/me/GFX/Background.png"
Add the full path where the image exist with double slash.
mTextures.Load(Textures::Background, "C:\\Program Files\\..\\..\\GFX\\Background.png");
I'm using Code::Blocks 12.11 in Widnows XP. I've been learning C++, so I haven't been working on any specific projects, just individual files. I'm trying to debug one of these files, but found from this question that I needed to be in a project in order to debug. So, I created a project for all of my C++ practice files. Now, when I try to debug (or run) the program, Code::Blocks gives me this error: "Can't create output directory bin\Debug.
When I remove the file from the project it still gives me this error. What can I do to try to fix this so that the program can run and debug?
Additional information:
In Settings>Compiler>Global Compiler Settings>Compiler Settings>Compiler Flags, I have enabled "Produce debugging symbols [-g]". This is something that a lot of other resources I've checked have mentioned.
Also, under Debug>Active Debuggers, I've tried using both debuggers, both of which produce the same error message.
Why don't you try to remove the entire project directory, create an empty project and then place the source files one by one into the project. Beware if you have a main() method in each of your source files.
Well, a friend of mine was getting the same error. So I decided to check it out.
I my case, the error was because of the account user name.
When I checked, the output directory while creating the file and the one in the error being shown, were different.
When I checked, I created an user account name with "$aaa$", and I got the same error.
and I noticed that the error was because of the "$" sign. (Probably).
So, I guess the problem is with the user name. Try changing the user name to something simple.
I have received a project from another. When I built, this error occured. I tried to search Google to solve this problem and I followed this link but no effect.
Try doing Rebuild instead of Build. If this doesn't work, try deleting or renaming the Debug and Release directories, and build again.
Keep in mind that Visual Studio often has 2 sets of Release and Debug directories - one set at the top level directory for the solution, and one at the directory for the project.
This could be due to the length of the path for the intermediate files.
The max path length for visual studio is somewhere around 256 characters.
Whilst considering path lengths don't forget that the compiler may use paths such as C:\folder1\folder2\folder3\..\..\folder1a\file.obj, which is longer than you expect for the file C:\folder1\folder1a\file.obj.
Inspect your project settings or build output to see what paths are being used, and perhaps try shortening them.
My problem was case sensitive in Windows 10 for partition e:
I have fixed with:
fsutil.exe file setCaseSensitiveInfo "e:\" disable
I faced the same problem, and it's because I changed my folder name.
ex: I build the solution when its folder name is 'Folder1' and then I close the entire solution and change my folder name into 'Folder2'. When I re-open the solution, and tried to build it, it has error "Fatal error C1083: Cannot open compiler intermediate file: '*\Folder1*.pch': No such file or directory"
But as satuon said, I tried to rebuild instead of build the solution, it's then working.