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