【发布时间】:2018-03-01 17:21:52
【问题描述】:
我需要使用不同的平台工具集自动编译程序。使用cl.exe 和link.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 似乎没有重新配置它,我收到错误:
Unknown Option: /PlatformToolset
有没有一种方法可以使用 cl.exe 更改工具集,而无需 msbuild 和 vcproj ?
【问题讨论】:
-
cl.exe是工具集的一部分。一旦您启动了几个cl.exes 中的一个,您就已经选择了一个工具集,可能是在 PATH 中拥有那个。 -
@Bo Persson 你能在 vcvarsall 的命令行中设置一个工具集吗?还是 vcvarsall 是工具集的一部分?
-
我更喜欢从 IDE 构建,所以我没有对命令行构建进行太多试验,抱歉。
标签: c++ visual-c++ compilation linker cl