写了一个python脚本,如果不存在,它会将stdcpp17和v141添加到vcxproj文件中。也许有人找到它的用途:
def get_all_files(basedir):
for root, subfolders, files in os.walk(basedir):
for file in os.listdir(root):
yield root, file
def all_lines_from_file(file):
with open(file, 'r') as fd:
for line in fd.readlines():
yield line
def update_VCXPROJ():
standard = '<LanguageStandard>stdcpp17</LanguageStandard>'
toolset = '<PlatformToolset>v141</PlatformToolset>'
add1 = '<CharacterSet>MultiByte</CharacterSet>'
add2 = '<DebugInformationFormat>'
for root, file in get_all_files('c:/projects/6thcycle/sources/'):
if not file.lower().endswith('.vcxproj'):
continue
thisfile = ''
for line in all_lines_from_file('{0}/{1}'.format(root, file)):
if toolset in line or standard in line:
continue
if add1 in line:
line += ' {0}\n'.format(toolset)
elif add2 in line:
line += ' {0}\n'.format(standard)
thisfile += line
with open('{0}/{1}'.format(root, file), 'w') as fd:
fd.write(thisfile)
update_VCXPROJ()
如果您选择“所有配置”,而不是单独为“发布”和“调试”单独执行,您只需要点击120次。否则,请对一个项目进行更改,查看.vcxproj文件中的更改内容,然后使用您最喜欢的文本编辑器进行查找/替换。 –
这里的关键是我认为它是.vcproj文件而不是.vcxproj文件,该死的 – Laurijssen
使用[属性页](https://docs.microsoft.com/de-de/cpp/ide/working-与项目的属性#属性 - 网页)。或者,切换到可编程的构建系统,如CMake。每个人都讨厌它(包括我在内),但是没有办法管理复杂的构建系统。或者,稍微改写Stroustrup:只有两种构建系统:大家抱怨的那些,以及没有人使用的那些。 – IInspectable