cmake中的奇怪字符“â”生成makefile错误

Posted

技术标签:

【中文标题】cmake中的奇怪字符“â”生成makefile错误【英文标题】:strange character "â" in cmake generated makefile errors 【发布时间】:2010-06-29 21:47:01 【问题描述】:

糟糕的标题,对不起。我使用 cmake 生成了一个 makefile,并将 g++ 指定为 C++ 编译器,当我使用 make 或 gmake 运行生成的 makefile 时,我得到了所有这些编译错误,并且我的所有符号都带有尾随的â。对这些神秘的 A 背后可能有什么想法有什么想法吗?

【问题讨论】:

它们是出现在源文件中还是仅出现在编译器输出中?前者表示编码问题,后者可能与 C++ 名称修改有关。 不,源文件中没有出现,只是编译器输出。 【参考方案1】:

您可能错误地设置了LANG 环境变量。尝试将其设置为Cen_US

如果使用bash 类似export LANG=Cexport LANG=en_US 应该可以解决您的问题。

【讨论】:

【参考方案2】:

它们是 Unicode 引号,左单引号和右单引号,在 UTF-8 中编码为“\xE2\x80\x98”和“\xE2\x80\x99”。而 Latin-1 中的 '\xE2' 是 'â'。

所以你的选择是找出你的终端没有正确解释 UTF-8 的原因,或者告诉 g++ 不要生成它们。后者是通过设置 LANG=C 左右来完成的,正如 the_void 所指出的,这将导致编译器发出普通的 ASCII 引号。

【讨论】:

以上是关于cmake中的奇怪字符“â”生成makefile错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用CMAKE生成makefile文件

为啥 CMake 在没有 CMAKE_CXX_FLAGS 的情况下生成 Makefile?

CMake:生成忽略错误的 Unix Makefile

cmake利用toolchain.cmake生成makefile之后,make生成静态库失败问题

使用CMAKE生成makefile后未定义的引用

Cmake生成Makefile