Hi Art, Spend some time to study how to work with make files. With cygwin, gnu make is a viable option. Make will only recompile files that have changed since a previous compilation.
gnu make also understands file extensions and what the next logical step will be. for instance, 'make x.o' will effectively do GCC -c x.c, if x.c is in the current working directory. met vriendelijke groet Pieter van den Hombergh Op ma 24 mrt 2025, 22:39 schreef slipbits <slipb...@slipbits.com>: > By Jove, I believe you have it!!! > > I ran the test case under cygwin with LIB_PATH set. The compile was > successful and the build ran. I have not tried the g++ -L/<path>/lib > yet. So that's in the hopper to work on. > > Is there any way of documenting this, and whatever else, so that others > have some guidance? I would be more than willing to provide something, but > I have so little knowledge that I don't know what good it would do. But, if > you'd like I can do something. > > And, is there any way of including this, and any other necessary things, > in the IDE project properties? After several years (and I do mean years) of > asking the question of how to do a build and execute under NB, only Pieter > provided an answer. As a general complaint, this shouldn't have happened. > And the fix is so trivial. Again, I'd be willing to help, but I haven't > looked as the NB source code and I don't know where to begin (or how to > make changes). > > And the last request, anyway of making it possible to compile a single > file rather than forcing the Build to compile all files to create object > object files for the build. For my toy projects, this is not an issue. But > for larger projects, with hundreds or thousands of files, this could be a > stumbling block. > > I suspect that a compile of a single file.cpp would involve passing the > knowledge of which file to compile to the compile property, perhaps > something that allows g++ -c $i to make sense, where $i is the file being > compiled, that way when a file.cpp is to be compiled the file name is > passed to the compile command. > > The Cygwin commands used are: > > > LIB_PATH=/cygwin/usr/lib/ > > ./<path>/netbeans64.exe > > If there is any help that I can do, please tell me, but note that there is > a long learning curve in understanding a project that is been ongoing for > (at least) two decades. > > All in all, NB is an excellent IDE. And thank you for everyone's effort > in making it so. > > art > On 3/20/2025 1:37 PM, Pieter van den Hombergh wrote: > > isn't there something like a LIB_PATH in the cygwin environment? > > met vriendelijke groet > Pieter van den Hombergh > > Op do 20 mrt 2025, 21:35 schreef slipbits <slipb...@slipbits.com>: > >> I have tried to build using cygwin in a Win11 environment. >> >> The Win PATH variables contains the path to the location of the shared >> libraries, C:/cygwin64/lib/gcc/x86_64-pc-cygwin/12/. >> >> The build command I use is: >> >> C:\cygwin64\bin\g++.exe -c *.cpp >> >> And when I use cygpath -u 'C:\cygwin64\bin\g++.exe' becomes >> /usr/bin/g++.exe -c *.cpp, and /usr/bin/g++.exe exists. >> >> On a build I get: >> >> C:/cygwin64/lib/gcc/x86_64-pc-cygwin/12/cc1plus.exe: error while loading >> shared libraries: ?: cannot open shared object file: No such file or >> directory >> >> Doing cygpath -w 'C:/cygwin64/lib/gcc/x86_64-pc-cygwin/12/' becomes >> /usr/lib/gcc/x86_64-pc-cygwin/12 >> and /usr/lib/gcc/x86_64-pc-cygwin/12/cc1plus.exe exists. >> >> My guess is that g++ can't find cc1plus.exe, or that cc1plus.exe can't >> find the shared libraries, but I don't understand why not. PATH includes >> the shared libraries, and I suspect that cc1plus.exe either has the path >> hard coded or looks at PATH. >> >> The email below that Ulf was able to use Netbeans in a Linux environment >> to, at least, build, clean and execute code, but I can't seem to get the >> same result in Windows. Does anyone know why? >> >> As a separate question, is there any reason that compiling a single file >> is not allowed? >> >> thanks; >> art >> On 3/4/2025 3:22 AM, Ulf Zibis wrote: >> >> Hi Art, >> >> yes, I can build, clean, run and debug my Project with the given >> commands. >> "Compile" is grayed out either here, regardless, what is put in the >> Editor->"Compile Commands" field. >> I guess, I could also use `make install` and `make clean` for "Build" and >> "Clean". >> >> For debugging, `gdb` must be installed. >> >> I guess on Windows you must use Windows style commands. >> And I think, there is no limitation for the length of the commands, so no >> need for line continuation characters. >> But you can execute multiple commands, if you put them in separate lines >> as you can see in my example. >> >> Yes, I compile into the project directory and move the generated object >> into the plugin directory of my application at same time with "Build". I >> also could use `cc ... -o /home/ich/.jpilot/libmedia.so". >> >> -Ulf >> >> Am 04.03.25 um 06:12 schrieb slipbits: >> >> Hi Ulf; >> >> Does it work? If so, great. If not, not so great. >> >> You have one advantage over me, an integrated environment (Linux). I have >> a mixture of Windows and Linux, and in this environment without feedback, >> I'm lost. >> >> I notice your compile command (cc -ggdb -fPIC -shared) puts the >> generated object file into the same directory as the header and source >> files. Was that your intent? One issue that I have is that I want to put >> the generated object files in another directory. In order to do that, I >> have to pass the file name to one of the g++ parameters (g++ -c -o >> obj/<filename>) and there are no directions as to how to do this. >> >> I guess a common issue would be a compile/build command that is large. I >> haven't tried this so I don't know if a line continuation character ('\' in >> Linux) has to be provided or whether the input 'line' extends to as large >> as is needed. Another feature that needs experimentation. >> >> But, if it works for you then that is great. >> >> art >> >> On 3/3/2025 4:33 PM, Ulf Zibis wrote: >> >> Hi Art, >> >> I now learned, that the `cc` option `-s` means "strip" (I copied the >> command from elsewhere). When I omit it, the debug symbols, created by >> option `-ggdb` were not removed again from the binary. >> Now, what a surprise, I can debug my code with NetBeans. Wow, that's >> great. >> >> So now I have: >> Compile Commands: >> cc -ggdb -fPIC -shared >> Build: >> cc -ggdb -shared -fPIC media.c -o libmedia.so >> mkdir -p /home/ich/.jpilot/plugins >> mv libmedia.so /home/ich/.jpilot/plugins/ >> Clean: >> rm -r /home/ich/.jpilot/plugins >> Run: >> jpilot -d >> >> -Ulf >> >> Am 03.03.25 um 17:33 schrieb slipbits: >> >> Hi Ulf; >> >> Way back in the bottom of this email, I asked about C/C++ support. Some >> answers followed. >> >> I work in a Windows environment and have cygwin (a Windows Linux) with >> mingw and gcc. >> >> There is no documentation of what is required for entries in "Compile >> Command", "Build", "Clean" or "Run". So, I've tried different versions of >> paths to reference the gcc toolset. So far, none have worked, except for >> "Clean". What is more than puzzling is how to specify what is being >> compiled to the compiler. In my case, I would like to use something like >> "g++ -c -o obj/?" where the "?" is a question as to how I can specify that >> the object file created goes to a separate directory. >> >> This means that I have given up. My current procedure is to use g++ >> directly in a script or by typing in a bash shell. I use: >> g++ -c obj/$1 $1 in a bash script to compile a file, and >> for i in *.cpp; g++ -c obj/$i.o $i 2>> error.log; done. To compile >> everything and save the errors. >> >> Don't really know what else to do. There are no descriptions to follow, >> nothing to say "hey, this is the correct way to do things", and there >> hasn't been since NB 8.0. Without any guidelines it becomes a matter of >> experimentation. And when you run out of ideas, why then, your done. >> >> As a suggestion, if you are having undue difficulty then separate the >> compile, build, run and debug tasks from NB and do it externally. That >> allows you to go forward. Otherwise you may be experimenting for a bit. >> >> As another note, for referencing CCLS or clangd, go to tools -> options >> -> C/C++. I have no idea whether it works but I use >> "C:\cygwin64\usr\clangd\bin\clangd.exe". Note that there is a selection >> you have to make at the bottom, "Preferred server". >> >> And one more (snarky) comment. In my C++ setup, the "Run -> Compile file" >> selection is grayed out, so even if I wanted to, I can't work effectively. >> >> As to debug, well, since I have never gotten compiles and builds to work, >> I've never gotten as far as debugging. But if I had, there is no >> information as to what debugger is being used, this effects the compile >> phase, and I don't think that there is an option to allow specification of >> what debugger you want. There is also, no way to specify search paths, >> which in my case means that I have to change my Windows environment PATH to >> include cygwin paths. >> >> I've been asking for help for C/C++ setup for years, yep, years. I would >> be willing to take a try at developing documentation but I have never been >> able to get it to work so I can't write about anything but failures. >> >> If this all sounds like I'm frustrated, well, I am. And if it sounds, or >> looks, like I'm not accurate in what I say, it's because I don't know >> better. But, I truly do like NB, and I do think that the people who are >> movers and shakers have done a great job, and one which I would like to >> thank them for. But the developers attention have shifted from C/C++. >> >> art >> >> On 3/2/2025 6:07 PM, Ulf Zibis wrote: >> >> Hi Brad, >> >> it seems you have good luck with it. >> >> I have set up a small C project with NB 24 on Ubuntu to build a library. >> Package ccls is installed. Must i be somehow registered in NB? >> The build command is: >> cc -s -ggdb -shared -fPIC media.c -o libmedia.so >> >> When I set a breakpoint at some line and run "Debug", the program does >> not stop at that line, and I don't see any variables. >> >> How does that work? >> >> Can someone tell me where the projects properties are saved? >> I don't see a folder like .nbproject in my projects folder. >> >> Regards, >> Ulf >> >> Am 24.11.24 um 18:50 schrieb Bradley Willcott: >> >> There is a plug-in: CPPLite Kit. >> I am using NB23. >> This kit needs either: ccls, or clangd. >> >> I'm running on Linux and using ccls. >> Regards, >> Brad. >> >> On 23/11/24 23:58, Ron Patton wrote: >> >> Have you received an answer? I'm still on version 12 due to this >> issue. I tried moving on from version 12 and the upgrade failed >> miserably. The C/C++ issue was one of the impediments. >> >> 73, >> Ron / W4MMP >> >> On 11/8/2024 11:41, slipbits wrote: >> >> Is C/C++ still supported? I've been trying to use Netbeans as my C/C++ >> IDE and have so far been unsuccessful. I have used it for Java with no >> issues, but I can't seem to get it going for C/C++. Is there any >> documentation or FAQ that can be used as a guideline for setup? >> >> thanks >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org >> For additional commands, e-mail: users-h...@netbeans.apache.org >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org >> For additional commands, e-mail: users-h...@netbeans.apache.org >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org >> For additional commands, e-mail: users-h...@netbeans.apache.org >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org >> For additional commands, e-mail: users-h...@netbeans.apache.org >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org >> For additional commands, e-mail: users-h...@netbeans.apache.org >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org >> For additional commands, e-mail: users-h...@netbeans.apache.org >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org >> For additional commands, e-mail: users-h...@netbeans.apache.org >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> >>