【CONAN】ERROR: 包名: ‘settings.compiler.libcxx‘ value not defined

在使用Conan进行打包上传时,由于使用了MinGW作为编译器,需要在export命令中添加compiler.libcxx参数,例如设置为libstdc++11。对于MSVC,则对应VisualStudio的配置。此问题涉及到编译器版本(如gcc8.1)和构建类型(Release)的指定。
摘要由CSDN通过智能技术生成

打包上传conan时,遇到这个问题

询问大佬后,发现我的编译器用的MinGW,所以需要在export命令后面添加compiler.libcxx的参数。

conan export-pkg . 包名 -s os=Windows -s arch=x86_64 -s compiler=gcc -s compiler.version=8.1 -s compiler.libcxx=libstdc++11 -s build_type=Release --force

MSVC用的Visual Studio,MinGW用的gcc,所以compiler这里的参数是gcc

当你在CMake中看到"CMAKE_C_COMPILER not set"的错误消息,通常这意味着在试图启用某个语言(在这个例子中可能是C语言)之后,CMake没有能够自动检测到C编译器的路径。这里有一些步骤可以帮助你解决这个问题: 1. **检查环境变量**:确保你的系统环境中已经设置了`CC`或`CMAKE_C_COMPILER`环境变量,并指向C编译器的路径。对于Unix-like系统,`cc`或`gcc`等通常会被默认搜索。 2. **配置CMake**:在CMakeLists.txt文件中,直接设置`CMAKE_C_COMPILER`,如: ```cmake set(CMAKE_C_COMPILER /path/to/your/gcc-or-gcc-compatible-compiler) ``` 3. **Find工具**:让CMake自动寻找编译器,使用`find_package(Clang REQUIRED)`(适用于Clang),或者`find_program(CMAKE_C_COMPILER)`,让它自动查找系统上的C编译器。 4. **添加编译器标志**:有时候,可能需要添加 `-DCMAKE_C_COMPILER=/usr/bin/gcc` 这样的命令行选项,告诉CMake初始值。 5. **执行CMake**:重新运行`cmake`命令,确保CMake Cache更新了新的编译器信息。 6. **清理缓存**:如果以上步骤无效,尝试清除CMake缓存并重新开始配置过程,即删除 `CMakeCache.txt` 文件,然后重新执行`ccmake .`。 7. **检查依赖**:确保所有依赖项(如第三方库或操作系统提供的基础工具)都已安装并且可用。 如果你按照这些步骤操作还是出现问题,那么可能存在系统配置异常或是与其他软件冲突。此时,你应该确认是否有其他第三方管理工具(如Conan、vcpkg等)影响了CMake对编译器的发现。在尝试解决问题后,别忘了提问:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值