2017-09-20 19 views
0

異なるプラットフォームツールセットを使用してプログラムを自動的にコンパイルする必要があります。コンパイルはそのようcl.exelink.exeを使用して行われます:異なるツールセットでCL.exeを使用してコンパイル

cl.exe file.c /GS- /PlatformToolset=vc140xp /analyze- /W3 /Gy /Zc:wchar_t /Gm- /Od /Zc:inline /fp:precise /D \"WIN32\" /D \"_WINDOWS\" /D \"_UNICODE\" /D \"UNICODE\" /errorReport:prompt /WX- /Zc:forScope /Gd /Oy- /Oi /MD /Fa\"\" /EHsc /nologo /Fo\"\" /Fp\"\" /diagnostics:classic /link %link_additional% /ENTRY:wWinMain /SUBSYSTEM:WINDOWS /MANIFEST:EMBED /NXCOMPAT /DYNAMICBASE \"kernel32.lib\" \"user32.lib\" \"gdi32.lib\" \"winspool.lib\" \"comdlg32.lib\" \"advapi32.lib\" \"shell32.lib\" \"ole32.lib\" \"oleaut32.lib\" \"uuid.lib\" \"odbc32.lib\" \"odbccp32.lib\" /DEBUG:NONE /MACHINE:%arch% /OPT:REF /SAFESEH /INCREMENTAL:NO /SUBSYSTEM:WINDOWS /MANIFESTUAC:\"level = 'asInvoker' uiAccess = 'false'\" /OPT:ICF /ERRORREPORT:PROMPT /NOLOGO /TLBID:1\ 

私はスイッチ/PlatformToolset=vc140xpを使用していますが、cl.exeのは、それをreconginzeしていないようだ、私はエラーを取得:

Unknown Option: /PlatformToolset

msbuildとvcprojを使用せずにcl.exeを使用してツールセットを変更する方法はありますか?

+1

'cl .exe'はツールセットの一部です。いくつかの 'cl.exe'のうちの一つを起動すると、既にPATHにそのツールセットを持っているので、おそらくツールセットを選択しています。 –

+0

@Bo Persson vcvarsallのコマンドラインからツールセットを設定できますか?または、vcvarsallはツールセットの一部ですか? – YakibutaRamen

+0

私はIDEからビルドする方が好きなので、コマンドラインビルドを実験していませんでした。 –

答えて

1

ちょうど誰かがそれを必要とするので、私はこのisuueを解決することができました。

/D \"_USING_V110_SDK71_\" 

そしてまた、私は、このオプション変更:私はCL.EXEするには、このオプションを追加したアプリケーションは、Windows XP上で正常に実行された後

/SUBSYSTEM:WINDOWS,5.01 

/SUBSYSTEM:WINDOWS 

を。 exeでcrtを大量に使用している場合、exeではTlsコールバックを定義するのにCRTが必要でCRTなしでは動作しないので、おそらくこれが私のために働いたのかもしれません

関連する問題