小天鹅+柯南+cmake:如何强制使用忍者?

46qrfjad  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(133)

我用pythoncmakeNinja的包安装了Cygwin。然后我安装了Conan(按照建议-用pip)。现在当我用最小的conanfile.txt尝试Conan时:

[requires]
bzip2/1.0.8

它会失败,
CMake错误:无法创建命名的生成器MinGW Makefile
(full日志粘贴在下面)。
我有理由避开MinGW,所以问题是:如何强制柯南+cmake使用忍者而不是“MinGW Makefile”?
已尝试按建议设置here,但没有成功.
配置文件:[设置] arch=x86_64 arch_build=x86_64 build_type=发布版编译器=clang编译器.cppstd=17编译器.libcxx=libc++编译器.版本=14操作系统=Windows操作系统构建版本=Windows [选项] [构建要求] [env] CONAN_CMAKE_GENERATOR=Ninja bzip 2/1.0.8:从源conanfile.txt强制构建:安装包需求bzip 2/1. 0. 8来自'conancenter' -缓存cmake/3. 24. 0来自'conancenter' -缓存包bzip 2/1. 0. 8:fa 16798 f9 daa 5 b15 fd 5cb 2fcd 5a 5d39 b602801 a0-内部版本cmake/3. 24. 0:0a 420 ff 5c 47119 e668867 cdb 51 baff 0 eca 1fdb 68-缓存
正在安装(下载、编译)二进制文件... bzip 2/1.0.8:警告:生成文件夹已脏,正在删除:/home/用户/.conan/数据/bzip 2/1.0.8///构建/fa 16798 f9 daa 5 b15 fd 5cb 2fcd 5a 5d39 b602801 a0 bzip 2/1.0.8///构建/fa 16798 f9 daa 5 b15 fd 5cb 2fcd 5a 5d 5cb 2fcd 5a 5d39 b602801 a0 bzip 2/1.0.8/版本号:正在将源代码复制到构建文件夹bzip 2/1.0.8:在/home/user/.conan/data/bzip 2/1.0.8///build/中构建您的软件包:生成器文本创建conanbuildinfo.txt bzip 2/1.0.8:调用generate()函数bzip 2/1.0.8:警告:使用新的工具链和生成器而不指定构建配置文件(例如:-pr:B=default),这可能会导致故障和意外行为bzip 2/1.0.8:正在聚合env生成器bzip 2/1.0.8:正在调用build()bzip 2/1.0.8:CMake命令:“/home/user/.conan/data/bzip 2/1.0.8///build/生成器/生成器/conan_TOOLCHAIN. cmake“-DCMAKE_INSTALL_PREFIX ="/home/user/.conan/data/bzip 2/1.0.8///软件包/编译/生成器/生成器/conan_toolchain.cmake”-DCMAKE_INSTALL_PREFIX="/home/user/.conan/data/bzip 2/1.0.8///软件包/编译/生成器/生成器/conan_toolchain. cmake”-DCMAKE_POLICY_创建一个新的文件夹,并将其添加到文件夹中。无法创建命名的生成器MinGW Makefile
发电机

  • Unix生成文件=生成标准UNIX生成文件。Ninja =生成build.ninja文件。Ninja多配置=生成build-.ninja文件。

代码块- Ninja =生成代码块项目文件。
代码块- Unix Makefile =生成代码块项目文件。
CodeLite - Ninja =生成CodeLite项目文件。
CodeLite - Unix生成文件=生成CodeLite项目文件。
Eclipse CDT 4- Ninja =生成Eclipse CDT 4.0项目文件. Eclipse CDT 4- Unix Makefile =生成Eclipse CDT 4.0项目文件. Kate - Ninja =生成Kate项目文件. Kate - Unix Makefile =生成Kate项目文件. Sublime Text 2 - Ninja =生成Sublime Text 2项目文件. Sublime Text 2 - Unix Makefile =生成Sublime Text 2项目文件.
bzip 2/1.0.8版本的文件夹:bzip 2/1.0.8版本的文件夹:错误:软件包“”的构建失败。警告:构建文件夹/home/user/.conan/data/bzip 2/1.0.8///构建版本/发布版本错误:bzip 2/1.0.8版本的文件夹:在build()方法的第69行出现错误。cmake.configure(build_script_folder=os.path.join(self.source_folder,os.pardir))ConanException:执行cmake -G“MinGW生成文件”时出现错误1-DCMAKE_INSTALL_PREFIX ="/home/user/.conan/data/bzip 2/1.0.8///build/生成器/conan_toolchain.cmake”-DCMAKE_INSTALL_PREFIX="/home/user/.conan/data/bzip 2/1.0.8///软件包/“新版本”“/home/用户/.conan/数据/bzip 2/1.0.8///build//编译/版本///编译/版本///编译/版本////编译/版本///////////////////////////////////////////////////////////////////*/

yvgpqqbh

yvgpqqbh1#

柯南正处于v1和v2之间的过渡状态,所以这里有3个解决方案,每个都适用于柯南v1和v2的食谱:

Force Ninja全球发电机:

<user_home>/.conan中:

  • conan.conf中:
[general]
cmake_generator = Ninja
  • 如果文件global.conf尚不存在,则创建该文件,然后添加:
tools.cmake.cmaketoolchain:generator=Ninja

从设定档胁迫Ninja:

在您的配置文件中(通常在<user_home>/.conan/profiles文件夹中),添加:

[env]
CONAN_CMAKE_GENERATOR=Ninja # for conan v1 recipes
[conf]
tools.cmake.cmaketoolchain:generator=Ninja # for conan v2 recipes

在柯南命令中强制忍者按需:

conan install <path/to/conanfile> -e CONAN_CMAKE_GENERATOR=Ninja -c tools.cmake.cmaketoolchain:generator=Ninja

相关问题