VS2008(2010)开发C++

VS2008(2010)开发C++

命令行执行vc的用法参见:

http://blog.csdn.net/memory_xj/archive/2008/10/27/3156781.aspx

VS 2008 找不到“windows.h”之谜 

今天要运行一个简单的C++程序,如下:

//C++ code  让任务管理器的CPU使用产生一条正弦曲线图

#include Windows.h

#include “stdlib.h“

#include “math.h“

#include stdio.h

 

const double SPLIT = 0.01;

const int COUNT = 200;

const double PI = 3.14159265;

const int INTERVAL = 300;

int main(int argc, char* argv[])

{

 DWORD busySpan[COUNT];  //array of busy times

 long int idleSpan[COUNT];  //array of idle times

 int half = INTERVAL / 2;

 double radian = 0.0;

 for(int i = 0; i COUNT; i++)

 {

  busySpan[i] = (long int)(half + (sin(PI * radian) * half));

  idleSpan[i] = INTERVAL - busySpan[i];

  radian += SPLIT;

 }

 

 long int startTime = 0;

 int j = 0;

 while (true)

 {

  j = j % COUNT;

  startTime = GetTickCount();

  while ((GetTickCount() - startTime) = busySpan[j]) ;

  Sleep(idleSpan[j]);

  j++;

 }

 return 0;

}

由于比较简单,就直接用editplus编辑成task.cpp文件,想在控制台中用cl.exe直接编译一下运行。

1、将cl.exepath环境设置。

我安装的是VS2008 Team版。所出将“C:/Program Files/Microsoft Visual Studio 9.0/VC/bin”添加至PATH环境变量中。具体设置:我的电脑-〉属性-〉高级-〉环境变量,在出现的环境变量对话框中,选择path变量,编辑即可。

2、如果这时你运行cl task.cpp,会出现“没有找到mspdb80.dll”的错误,所出要同时将mspdb80.dll的路径加入path环境变量。路径为:“C:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE”。

3、要在控制台中编译Win32程序,当然还得手动需设置includelib环境变量(详细见http://blog.csdn.net/memory_xj/archive/2008/10/27/3156887.aspx),这很有点复杂,还好VS2008为我们将这些设置命令编成了vsvar32.bat文件,我们只需执行即可。

   在这里,我的噩梦来了。根据很多资料,包括著名的jjhou先生在《深入浅出MFC》中都指出应执行:C:/Program Files/Microsoft Visual Studio 9.0/VC/bin目录下的vsvars32.bat。如果程序中没有#include windows.h〉这一切是会很正常的。执行cl task.cpp出现了“fatal error C1034:windows.h:不包括路径集”的错误。从这里我就开始了很长一段时间的解决之路。

4、首先是搜索,看看这个windows.h究竟藏在什么地方。发现在“C:/Program Files/Microsoft SDKs/Windows/v6.0A/Include”中有一个,但这个目录和VS2008有什么关系呢?先不管,在include环境变量中加入这个目录,再cl编译一下,唉,又出现在这个windows.hinclude的另一个头文件找不到了。当时,我以为这个目录是SDK的一个目录,应该和VS2008没有任何关系,就不想在这上面花功夫了,后来发现是错了,其实VS2008中的$(WindowsSdkDir)环境变量就是对应这个目录。如果根据错误提示,在include环境变量中一直将所需的目录添加上的话,可能也会很快解决windows.h的问题。

5、接着,脑子里竟冒出重装VS2008的想法,不过很快否定了,VS2008太大了。必竟是在控制台中编译,是不是SDK的问题呢?以下是找到的资料和我自己的理解:

    SDKsoftware develope kit(软件开发工具包),它包含了进行Windows软件开发的文档和API函数的输入库、头文件(因为API在动态链接库中,这些动态链接库是系统的组成部分因此不用再提供,而输入库和头文件则必须,这样才能在你的程序中使用API函数)。早期SDK是一个单独发放的包,现在在Visual C++和其他一些开发环境中已经包含了它。尽管很多同道说,SDKVCVS2005VS2008等)是两套系统,但我倾向于认为SDK之于VS2008就象JAVAJDK之于eclipse等开发工具一样,是开发工具的基础,

    1)什么是Windows SDK

Windows SDK

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值