cl.exe Visual Studio 2008 中的包装器
cl.exe wrapper in Visual Studio 2008
我在C++中为cl.exe
(Visual Studio编译器(创建了一个包装器。为此,我更改了PATH
环境变量,以便Visual Studio首先找到我的cl.exe
。在我的cl.exe
中,我创建了一个进程,该进程使用cl.exe
得到的参数运行实际cl.exe
。
这样做的目的是过滤真实cl.exe
的输出,以删除我们无法执行任何操作的警告。我们希望打开"检测 64 位概率问题",因为它很棒,但它会发出警告。
警告:
cl : 命令行警告 D9035 : 选项"Wp64"已被弃用,将在将来的版本中删除
我已经搜索了好几天关于如何删除此特定警告的信息,这不是您可以使用代码或普通警告等选项关闭的警告。
问题:Visual Studios运行我的cl.exe
,然后我的cl.exe
运行真正的cl.exe
,但从那时起,我的cl.exe
不再接收输出。我已经通过让它调用真实cl.exe
以外的内容来测试这一点,我的cl.exe
可以完全控制输出......
任何一个cl.exe
文件的任何输出都显示在 Visual Studio 的输出框中,但我的cl.exe
不再接收来自真实cl.exe
的任何输出......
我正在使用管道来处理cl.exe
中的输出,它适用于真实cl.exe
以外的任何东西。
为什么我的cl.exe
不管理输出?Visual Studio是否忘记了我的cl.exe
并以某种方式将自己附加到真实的?
另外,除了为cl.exe
创建包装器以摆脱此警告之外,还有其他解决方案吗?
我已经想通了。
这个来自视觉工作室的环境变量以某种方式用于向真正的cl发出信号.exe将其输出发送到视觉工作室。
VS_UNICODE_OUTPUT=4209
清除此选项允许我的应用程序再次处理输出。
感谢您的帮助...!
看起来您正在重定向"真正的"cl.exe
stdout
,但不是stderr
。stderr
而这正是人们期望编译器警告去的地方。
- 如何在c++17中制作一个模板包装器/装饰器
- std::vector的包装器,使数组的结构看起来像结构的数组
- 如何在c++迭代器类型中包装std::chrono
- 是否可以用"iostream"包装现有的TCP/OOpenSSL会话
- 用pybind11包装C++抽象类时出错
- 为左值和右值的包装器实现C++范围
- C结构,其指针将被包装在unique_ptr中
- 如何包装第三方DLL在R中使用
- 在类型和包装器之间reinterpret_cast是否安全<Type>?
- 将 N-arg 函数包装到另一个函数中
- 元组由 Swig 生成的 Python 包装器返回,用于C++向量
- 包装一个对象并假装它是一个 int
- 使用 Python Extension API 包装复杂C++类
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- 包装C++类时不完整的类型 GLFWwindow
- 将函数包装器转换为 std::function
- C++函数包装器来捕获某些信号
- 创建包装升压适配器的自定义范围类
- 如何包装(撰写)增强 hana 地图并访问括号运算符(运算符 [])?
- cl.exe Visual Studio 2008 中的包装器