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
>>
>>

Reply via email to