Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. VS 2022 is not C friendly

VS 2022 is not C friendly

Scheduled Pinned Locked Moved The Lounge
visual-studio
80 Posts 14 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D David ONeil

    If you selected 'static library project' it is set to CREATE a static library. It has everything to do with _understanding_ VS. If you need one static library to depend upon another then you must understand _how_ to add the dependency to VS. Setting the project type does not make it recursively able to link to other projects of that same type. I believe you would have had to add the dependency to Borland products in a similar manner. (At least I recall having to do so in the past - just the extension differed if memory serves. Or COFF vs LIB, or something.) And, logically, it is more common for an executable to link to the libraries, not one library to link to another. I've never heard of nested libraries, but I suppose it is possible.

    Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

    J Offline
    J Offline
    jmaida
    wrote on last edited by
    #24

    It makes a lot sense to nest libraries. I have used that approach many times. Everyone has. My Font library uses GLFW library to handle rendering. The font library is used by a higher level application to handle I/O to screen. My biggest problem with VS is that it cannot see my includes files and libraries. Grrr. #include fails not matter how I reference that the directory it is located in. D:\code\glfw3.3.8\include NOT A TYPO ANYWHERE VS BAD

    "A little time, a little trouble, your better day" Badfinger

    D L J 4 Replies Last reply
    0
    • J jmaida

      It makes a lot sense to nest libraries. I have used that approach many times. Everyone has. My Font library uses GLFW library to handle rendering. The font library is used by a higher level application to handle I/O to screen. My biggest problem with VS is that it cannot see my includes files and libraries. Grrr. #include fails not matter how I reference that the directory it is located in. D:\code\glfw3.3.8\include NOT A TYPO ANYWHERE VS BAD

      "A little time, a little trouble, your better day" Badfinger

      D Offline
      D Offline
      David ONeil
      wrote on last edited by
      #25

      jmaida wrote:

      My biggest problem with VS is that it cannot see my includes files and libraries.

      The steps for each step are outlined in the article I linked to. After dragging the include files into VS you must still specify the paths in the include section of the project settings, and you have to set libraries in another place in the settings as I outline there. Pretty simple once you understand it, but learning that was not as simple as it could have been - I agree with that. It would be nice if dragging a file into the explorer automatically added the appropriate path to the settings, but would require looking at relative paths as well as absolute, since both are acceptable in the project settings page.

      Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

      J 1 Reply Last reply
      0
      • J jmaida

        It makes a lot sense to nest libraries. I have used that approach many times. Everyone has. My Font library uses GLFW library to handle rendering. The font library is used by a higher level application to handle I/O to screen. My biggest problem with VS is that it cannot see my includes files and libraries. Grrr. #include fails not matter how I reference that the directory it is located in. D:\code\glfw3.3.8\include NOT A TYPO ANYWHERE VS BAD

        "A little time, a little trouble, your better day" Badfinger

        D Offline
        D Offline
        David ONeil
        wrote on last edited by
        #26

        PS - #include - the '<' and '>' included headers indicate that they are in the compiler's PATH (or something like that - files like 'stdio.h' and 'vector's (without the '.h' suffix) in .cpp). #include "someHeader.h" are for files included via the projects settings includes. I have never came across the ="" nomenclature - my first instinct is to tell you to ditch it and use the "" include method. But I'm not an expert on that - all I can say is what I've done has always worked.

        Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

        1 Reply Last reply
        0
        • J jmaida

          I TOTALLY disagree. The code I am working with is just a simple basic C libary. In VS I chose static library, etc. The problem is VS is way too complicated, trying to do to many things for too many types of language applications. I have used VS off and on for years so I know what I am talking about. I came back to it because of potential conversion of a large graphics application that will be "potentially" ported to it. I am quickly changing my mind as to whether it is worth it or not. The application is mostly window's agnostic.

          "A little time, a little trouble, your better day" Badfinger

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #27

          jmaida wrote:

          The problem is VS is way too complicated

          Well, I totally disagree with you on that. And I have been using it, or its predecessors, for almost thirty years. I have created complete applications, and static and dynamic libraries, using C, C++, C# and even VB.NET, so I also know what I am talking about.

          1 Reply Last reply
          0
          • J jmaida

            It makes a lot sense to nest libraries. I have used that approach many times. Everyone has. My Font library uses GLFW library to handle rendering. The font library is used by a higher level application to handle I/O to screen. My biggest problem with VS is that it cannot see my includes files and libraries. Grrr. #include fails not matter how I reference that the directory it is located in. D:\code\glfw3.3.8\include NOT A TYPO ANYWHERE VS BAD

            "A little time, a little trouble, your better day" Badfinger

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #28

            jmaida wrote:

            #include <glfw glfw3.h=""> fails not matter how I reference that the directory it is located in. D:\code\glfw3.3.8\include NOT A TYPO ANYWHERE

            Apart from the fact that the include statement is totally incorrect. And again, that is nothing to do with Visual Studio, but one for the compiler. Well, strictly speaking, it's the preprocessor, but we'll let that pass.

            J 1 Reply Last reply
            0
            • J jmaida

              I have been trying to create a static library (in C) that uses another published static library. No where does VS do I have link options to include that library. VS SUCKS

              "A little time, a little trouble, your better day" Badfinger

              P Offline
              P Offline
              Paul Michalik
              wrote on last edited by
              #29

              A static library cannot use another static library. What exactly do you mean? Honestly VS is perfectly fine, it's, as almost always, the users... :laugh:

              J 1 Reply Last reply
              0
              • J jmaida

                I have been trying to create a static library (in C) that uses another published static library. No where does VS do I have link options to include that library. VS SUCKS

                "A little time, a little trouble, your better day" Badfinger

                S Offline
                S Offline
                Stephen8601
                wrote on last edited by
                #30

                I never had an issue with VS, and it doesn't suck for me. For you, yeah, but I wonder why. :laugh:

                1 Reply Last reply
                0
                • J jmaida

                  I TOTALLY disagree. The code I am working with is just a simple basic C libary. In VS I chose static library, etc. The problem is VS is way too complicated, trying to do to many things for too many types of language applications. I have used VS off and on for years so I know what I am talking about. I came back to it because of potential conversion of a large graphics application that will be "potentially" ported to it. I am quickly changing my mind as to whether it is worth it or not. The application is mostly window's agnostic.

                  "A little time, a little trouble, your better day" Badfinger

                  J Offline
                  J Offline
                  Julian Ragan
                  wrote on last edited by
                  #31

                  Ever seen a simple IDE?

                  L J 2 Replies Last reply
                  0
                  • J Julian Ragan

                    Ever seen a simple IDE?

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #32

                    Visual Studio Code.

                    J J 2 Replies Last reply
                    0
                    • J jmaida

                      I have been trying to create a static library (in C) that uses another published static library. No where does VS do I have link options to include that library. VS SUCKS

                      "A little time, a little trouble, your better day" Badfinger

                      J Offline
                      J Offline
                      Jeremy Falcon
                      wrote on last edited by
                      #33

                      Try again, you can still write a static lib in C in VS2022. You don't need to use pragmas either. While I'm not a fan of VS these days as it's too bloated, at least be fair and do the research before saying something sucks because it can't do something - when it can. We're supposed to be mature professionals. Supposed to be...

                      Jeremy Falcon

                      J 2 Replies Last reply
                      0
                      • J jmaida

                        It makes a lot sense to nest libraries. I have used that approach many times. Everyone has. My Font library uses GLFW library to handle rendering. The font library is used by a higher level application to handle I/O to screen. My biggest problem with VS is that it cannot see my includes files and libraries. Grrr. #include fails not matter how I reference that the directory it is located in. D:\code\glfw3.3.8\include NOT A TYPO ANYWHERE VS BAD

                        "A little time, a little trouble, your better day" Badfinger

                        J Offline
                        J Offline
                        Jeremy Falcon
                        wrote on last edited by
                        #34

                        You can link to static lib from a static lib in VS in C. I've done it, but I'm not gonna tell you how. Why? Because of your attitude. Life's too short. Keep on Googling.

                        Jeremy Falcon

                        J 1 Reply Last reply
                        0
                        • D David ONeil

                          If you selected 'static library project' it is set to CREATE a static library. It has everything to do with _understanding_ VS. If you need one static library to depend upon another then you must understand _how_ to add the dependency to VS. Setting the project type does not make it recursively able to link to other projects of that same type. I believe you would have had to add the dependency to Borland products in a similar manner. (At least I recall having to do so in the past - just the extension differed if memory serves. Or COFF vs LIB, or something.) And, logically, it is more common for an executable to link to the libraries, not one library to link to another. I've never heard of nested libraries, but I suppose it is possible.

                          Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                          J Offline
                          J Offline
                          Jeremy Falcon
                          wrote on last edited by
                          #35

                          David O'Neil wrote:

                          If you selected 'static library project' it is set to CREATE a static library

                          Home dude isn't here to learn. He's here to rant.

                          Jeremy Falcon

                          J 1 Reply Last reply
                          0
                          • L Lost User

                            Visual Studio Code.

                            J Offline
                            J Offline
                            Jeremy Falcon
                            wrote on last edited by
                            #36

                            The irony is, I love doing C in VS Code. But, it's harder to get that going property with debugging, etc. than doing C in VS.

                            Jeremy Falcon

                            1 Reply Last reply
                            0
                            • D David ONeil

                              jmaida wrote:

                              My biggest problem with VS is that it cannot see my includes files and libraries.

                              The steps for each step are outlined in the article I linked to. After dragging the include files into VS you must still specify the paths in the include section of the project settings, and you have to set libraries in another place in the settings as I outline there. Pretty simple once you understand it, but learning that was not as simple as it could have been - I agree with that. It would be nice if dragging a file into the explorer automatically added the appropriate path to the settings, but would require looking at relative paths as well as absolute, since both are acceptable in the project settings page.

                              Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                              J Offline
                              J Offline
                              jmaida
                              wrote on last edited by
                              #37

                              Typo in the post it's #include GLFW/glfw3.h (with <> brackets. If I explicit put them this post incorrect displays them) which VS flags with red underline of #include which is the signal it cannot find the file even though I have the complete path d:\code\glfw3.3.8\include in the additional includes field of the applications properties and it is a valid path to the required file VS says it cannot find the file and recommends I use some strange application called vcpkg to install it Like I say VS ______s

                              "A little time, a little trouble, your better day" Badfinger

                              D 1 Reply Last reply
                              0
                              • J Jeremy Falcon

                                Try again, you can still write a static lib in C in VS2022. You don't need to use pragmas either. While I'm not a fan of VS these days as it's too bloated, at least be fair and do the research before saying something sucks because it can't do something - when it can. We're supposed to be mature professionals. Supposed to be...

                                Jeremy Falcon

                                J Offline
                                J Offline
                                jmaida
                                wrote on last edited by
                                #38

                                guys. I am not ranting. I have done all the suggestions, checked all the boxes, VS will not recognize the include statement it's frustration. It's not the static library issue anymore. I used the GLFW test program example from their website. Simple C program. VS will flag their include as not found even when the path is fulled included as additional include GLFW folks are also working it.

                                "A little time, a little trouble, your better day" Badfinger

                                J 1 Reply Last reply
                                0
                                • J jmaida

                                  Typo in the post it's #include GLFW/glfw3.h (with <> brackets. If I explicit put them this post incorrect displays them) which VS flags with red underline of #include which is the signal it cannot find the file even though I have the complete path d:\code\glfw3.3.8\include in the additional includes field of the applications properties and it is a valid path to the required file VS says it cannot find the file and recommends I use some strange application called vcpkg to install it Like I say VS ______s

                                  "A little time, a little trouble, your better day" Badfinger

                                  D Offline
                                  D Offline
                                  David ONeil
                                  wrote on last edited by
                                  #39

                                  If you read my post, I said to use quotation marks around the include, not '<' and '>', so #include "somefile.h". There is a big difference. And don't put an '=' or a ' ' inside the include file (so not #include "somefile somefile.h=""" - just #include "somefile.h". It isn't VS - it is GIGO.

                                  Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                                  J 1 Reply Last reply
                                  0
                                  • J jmaida

                                    guys. I am not ranting. I have done all the suggestions, checked all the boxes, VS will not recognize the include statement it's frustration. It's not the static library issue anymore. I used the GLFW test program example from their website. Simple C program. VS will flag their include as not found even when the path is fulled included as additional include GLFW folks are also working it.

                                    "A little time, a little trouble, your better day" Badfinger

                                    J Offline
                                    J Offline
                                    Jeremy Falcon
                                    wrote on last edited by
                                    #40

                                    So you're the type that argues all day long - got it. You may wish to read your original post again. Clearly, you think that's not ranting. It is... but whatever.

                                    Jeremy Falcon

                                    J 1 Reply Last reply
                                    0
                                    • D David ONeil

                                      If you read my post, I said to use quotation marks around the include, not '<' and '>', so #include "somefile.h". There is a big difference. And don't put an '=' or a ' ' inside the include file (so not #include "somefile somefile.h=""" - just #include "somefile.h". It isn't VS - it is GIGO.

                                      Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                                      J Offline
                                      J Offline
                                      jmaida
                                      wrote on last edited by
                                      #41

                                      tried that quotes still no go

                                      "A little time, a little trouble, your better day" Badfinger

                                      D 1 Reply Last reply
                                      0
                                      • L Lost User

                                        Visual Studio Code.

                                        J Offline
                                        J Offline
                                        Julian Ragan
                                        wrote on last edited by
                                        #42

                                        Nah, it is not simple once you try to go outside defaults.

                                        1 Reply Last reply
                                        0
                                        • J jmaida

                                          tried that quotes still no go

                                          "A little time, a little trouble, your better day" Badfinger

                                          D Offline
                                          D Offline
                                          David ONeil
                                          wrote on last edited by
                                          #43

                                          Like Jeremy, I can guarantee it isn't something on VS's end. It is responsible for more pieces of software than you or I can count to in a day. It must be something on GLFW's end with malformed headers. Does the header immediately include another header that is at another location? Is that malformed? Go that direction or another with GLFW taking responsibility, quit blaming VS. Build the code in my article on your end and go through all the instructions. Then create a GLFW project starting one file at a time without using any CMAKE or any other shortcuts. You will figure it out that way. You will never figure it out just by blaming VS.

                                          Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                                          J 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups