stdcpp17とv141をvcxprojファイルに追加するpythonスクリプトを作成しました。
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回クリックするだけで済みます。それ以外の場合は、1つのプロジェクトのchangementを行い、.vcxprojファイルで何が変更されているかを見てから、お気に入りのテキストエディタで検索/置換します。 –
ここで重要なのは、.vcprojファイルではなく、.vcxprojファイルであると仮定したことです。 – Laurijssen
[プロパティページ](https://docs.microsoft.com/de-de/cpp/ide/working- with-project-properties#property-pages)。あるいは、CMakeのようなプログラム可能なビルドシステムに切り替えることもできます。誰もがそれを嫌う(それは私を含む)が、複雑なビルドシステムを管理するための代替手段はない。 Stroustrupにはわずか2種類のビルドシステムしかありません。誰もが苦情を申し立てるシステムと、誰も使用しないシステムです。 – IInspectable