我正在尝试使用cmake/msbuild在Windows Server 2019上构建一个32位fmt(我没有完整的Visual Studio GUI,我只有命令行构建工具)。我得到了这个错误:
C:\Program Files(x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft。CppBuild。目标(408,5):错误MSB8013:此项目不包含调试| Win32的配置和平台组合。
它可以构建为64位,但这不是我需要的。我认为这是因为fmt生成的构建文件没有针对32位Windows的配置(我认为调试位无关紧要,它也不适用于发布配置)。
我在build子目录中按照fmt的说明执行此操作:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_C_FLAGS=-m32 -DCMAKE_GENERATOR_PLATFORM=x86 ..
cmake --build . --config Release
cmake --install . --prefix <fmtlib_target_dir> --config Release
有没有办法在Windows上构建32位的fmt?
对于具有CI构建的项目,关于如何构建的最佳文档通常是CI脚本/配置本身;从…起https://github.com/fmtlib/fmt/blob/master/support/appveyor-build.py :
if image == 'Visual Studio 2019':
generator = 'Visual Studio 16 2019'
if platform == 'x64':
cmake_command.extend(['-A', 'x64'])
else:
if image == 'Visual Studio 2015':
generator = 'Visual Studio 14 2015'
elif image == 'Visual Studio 2017':
generator = 'Visual Studio 15 2017'
if platform == 'x64':
generator += ' Win64'
cmake_command.append('-G' + generator)
换句话说:为32位构建传递不同的生成器/选项,如-G"Visual Studio 16 2019"-A Win32
。
问题内容: 是否有任何的组合和我可以为了建立ELF 32位二进制设定值? 问题答案: 和。 更多示例:体系结构: 作业系统: 有关完整列表(有效的“个体”值),请参考文件: 请注意,以上列表是一个不断增长的列表,不再删除不再受支持的平台(因为该列表用于go / build文件名匹配)。 对于当前列表,所有受支持的平台(GOOS / GOARCH组合),请使用以下命令: + (source)的有效组
问题内容: 我们已经继承了一个ant构建文件,但现在需要同时部署到32位和64位系统。 非Java位是通过GNUMakefiles完成的,我们只调用“ uname”来获取信息。有没有类似或什至更简单的方法来模仿蚂蚁呢? 问题答案: 您可以使用$ {os.arch}从ant 获得Java系统属性(http://java.sun.com/javase/6/docs/api/java/lang/Syst
我们有一个C#可执行文件,它加载一个用C++编写的32bit dll,它动态加载另一个32bit dll(第一个dll是包装器)。 当它构建在32位机器上(使用VS toolset v100)时,它都能正常工作。
问题内容: 所有其他C#项目文件都使用MSBuild脚本构建。但是,很少有与C ++相关的项目因以下错误而失败- C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V110 \ Microsoft.Cpp.Platform.targets(44,5):错误MSB8020:v140的构建工具(Platform Toolset =’v14
我有一个.net核心类库,我正试图构建成一个bugget包。然而,在我的构建服务器(运行team city)上,我收到了以下错误: C:\ team city \ build agent \ work \ 3c 6531587491 c25e \ my solution \ my project . csproj错误MSB4019:导入的项目“C:\ Program Files(x86)\ Mic
问题内容: 您如何使用Java确定Windows的32位或64位体系结构? 问题答案: 请注意,该属性仅会为您提供 JRE 的体系结构,而不是基础os 的体系结构。 如果在64位系统上安装32位jre,将返回 为了真正确定基础架构,您将需要编写一些本机代码。有关更多信息,请参见此帖子(以及示例本地代码的链接)。