我正在尝试在Visual Studio中使用预构建事件(特别是VS 2005)来运行Python脚本,该脚本将自动生成.cpp文件。我遇到的麻烦是编译器似乎不知道这个文件是脏的,需要重建,直到在构建完成之后,这意味着我需要构建解决方案两次 - 一次生成此文件,然后再生一次,以便实际编译此文件。
在不太了解C ++编译器的内部工作原理的情况下,我天真的猜测是它会生成一个脏文件列表,需要在预构建事件运行之前重新编译,所以它会遗漏这个自动生成的文件,因为直到预构建事件之后才触及它。
有没有办法告诉编译器如果预构建事件改变它需要重新编译该文件?
答案 0 :(得分:5)
我使用msvc 6。
...试
Put the python script into the project
give it a custom build step that invokes python on it,
to create the cpp file.
Add the cpp file to your project and do a rebuild all.
这就是我们使用Oracle Pro * C预处理器的方法。 它工作正常。
答案 1 :(得分:2)
这不是我曾经做过的事情,但您可以尝试直接从预构建事件中调用编译器(cl.exe)。