$(IntDir)工程所在路径文件夹   $(TargetName)工程名

解决方案 »

  1.   

    IntDir 是 IntermediateDirectory 的简称,即 "中间目录" ,一般指的是 Debug 或 Release 文件夹;后面的 TargetName 默认情况下是工程的名称。VS 默认情况下会创建并使用预编译头文件(也就是自动创建 StdAfx.h 和 StdAfx.cpp 这两个文件),以便在编译时加快编译速度,预编译器将它编译后,会生成一个 Pre-compiled header ,也就是 pch 文件,这样下次就可以直接使用这里已经编译好了的代码了。比如,现在新建了一个名为 test 的工程并创建了解决方案,它的路径为 C:\Users\Administrator\Documents\Visual Studio 2008\Projects\test ,这个路径下面就由解决方案文件 test.sln ,然后 test 项目的路径为 C:\Users\Administrator\Documents\Visual Studio 2008\Projects\test\test ,test 所需要的各种源文件都放在这个目录下面,编译生成 Debug 或者 Release 版(还可以自定义其他)之后,会在这个目录下面创建 Debug 或 Release 目录,比如 C:\Users\Administrator\Documents\Visual Studio 2008\Projects\test\test\Debug ,pch 文件的路径为 C:\Users\Administrator\Documents\Visual Studio 2008\Projects\test\test\Debug\test.pch 。那么这个时候,$(IntDir) 指的就是 Debug 目录了,$(TargetName) 指的就是 test 了,不信的话自己可以去新建一个工程试试。
      

  2.   

    TargetName在那里与工程名test关联在一起的???
      

  3.   

    这个参数就是在 (工程)属性 -> 配置属性 -> C / C++ -> 预编译头 -> 创建/使用预编译头 这里设置的。
    默认情况下会将工程名称(也就是 $(TargetName) )作为 pch 文件的名称,如果希望改为其他名称,也可以设置为其他值,比如,如果你设置这个参数为 $(IntDir)\abcd.pch ,那么编译链接没问题的话,就会在中间目录下生成 abcd.pch 。
    这个可以自己亲自尝试的。
      

  4.   

    这两者等价。
    如果采用默认设置 $(IntDir) 的话,这个中间目录就是输出目录。但是它这里也给你提供了一个自定义的机会,就是在 (工程)属性 -> 配置属性 -> C / C++ -> 预编译头 -> 创建/使用预编译头 里面改,所以你也可以将这个中间目录改为你想要的任意值。
      

  5.   


    输出的结果文件是在 “...\\Projects\test\Debug ”中,中间文件才在“...\Projects\test\test\Debug ”中
      

  6.   

    哥们没看见在哪里创建的$(SolutionDir)呀。。
      

  7.   

    $(SolutionDir) 就是 sln 所在位置$(OutDir) 输出路径, 
    $(IntDir) 中间文件路径,
      

  8.   


    输出的结果文件是在 “...\\Projects\test\Debug ”中,中间文件才在“...\Projects\test\test\Debug ”中
    嗯,这一点是我说错了,$(IntDir) 是中间目录, $(OutDir) 才是输出目录$(SolutionDir) 是你最开始创建工程的时候设置的,你都已经创建工程了,然后才去工程属性里面找 $(SolutionDir) 在哪里设置,肯定找不到啦!