如何从我的程序中编译.cpp?

时间:2015-09-05 17:00:33

标签: c++ batch-file visual-studio-2012 console

我使用Visual Studio 2012,我想从我自己的程序中编译 hello.cpp 文件。 这是代码:

#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;

string exec(char* cmd) 
{
    FILE* pipe = _popen(cmd, "r");
    if (!pipe) return "ERROR";
    char buffer[128];
    string result = "";
    while(!feof(pipe)) 
    {
        if(fgets(buffer, 128, pipe) != NULL)
            result += buffer;
    }
    _pclose(pipe);
    return result;
}


int main()
{
    //ERROR: Cannot determine the location of the VS installation.
    string res = exec("cd C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\VC && vcvarsall"); 
    cout<<res<<endl;
    system("pause");
    return 0;
}

我得到:无法确定VS安装的位置。
问题是 vcvarsall.bat 找不到一些环境变量。
当我从cmd或.bat运行它时,一切正常。 这是工作.bat:

call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall"
D:
cl hello.cpp

我该怎么办?感谢。

0 个答案:

没有答案