Sign in to follow this  
Psychopathetica

Organizing Source Files

Recommended Posts

I have a problem in VC++ 2010. I wanna be able to put a bunch of source code files cpp and h into a folder, and not have it in the same directory as the solution, which is by default. Everytime I tried it keeps saying it couldnt find the file because no such file exists, even though i added the existing files into the project. I even tried creating a new project. Same thing. It always wants the files in the same directory as the solution. Is there a project property I need to change? Thanks in advance

Share this post


Link to post
Share on other sites
Do i have to type the entire path over in Additional Include Directories? There must a small macro that has the solution path that I can follow with "\Source Code\Header Files\" That way if the project gets moved or transfered, or even if I share the project, its not fixed in one directory

Share this post


Link to post
Share on other sites

nvm I figured it out. Never heard of $(SolutionDir) before. And after some playing around over in Additional Include Directories, this did the trick so I can put my headers in whatever folders I want within my solution directory:

$(SolutionDir)Source Code\Header Files

Thats all I was trying to ask for, and it was a pain to find in Google for this answer. But thanks for trying guys.

Share this post


Link to post
Share on other sites
Trienco    2555

I'd generally prefer the ProjectDir (which also seems to be the "default" as in "what your path is relative to if you don't specify anything). Nothing more frustrating than adding a project as a dependency to a different solution and having all your paths fall apart.

Share this post


Link to post
Share on other sites
Kylotan    9863

nvm I figured it out. Never heard of $(SolutionDir) before. And after some playing around over in Additional Include Directories, this did the trick so I can put my headers in whatever folders I want within my solution directory:

$(SolutionDir)Source Code\Header Files

Thats all I was trying to ask for, and it was a pain to find in Google for this answer. But thanks for trying guys.

 

The reason that's hard to find, is because it's usually a bad idea to do that.

 

Firstly, if you organise your code into several different directories, you usually want those directories to form part of the #include line. Otherwise you'll run into trouble if you ever end up with similarly-named headers in different directories.

 

Secondly, you usually want files to be found relative to the project, not the solution - because projects are designed to be shared across multiple solutions. If you use $(SolutionDir) then that is going to break if you attempt to reuse that project in a different solution. You'd have to copy everything across, which means you lose many of the benefits of sharing code.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this