- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Linux 桌面应用程序的 flutter run
上出现此错误
Running "flutter pub get" in proj... 5.3s
Launching lib/main.dart on Linux in debug mode...
CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:62 (message):
The C++ compiler
"/usr/bin/clang++"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /media/kingbob/Dvolve/EData/proj/build/linux/x64/debug/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/ninja cmTC_5f1b6 && [1/2] Building CXX object CMakeFiles/cmTC_5f1b6.dir/testCXXCompiler.cxx.o
[2/2] Linking CXX executable cmTC_5f1b6
FAILED: cmTC_5f1b6
: && /usr/bin/clang++ CMakeFiles/cmTC_5f1b6.dir/testCXXCompiler.cxx.o -o cmTC_5f1b6 && :
/usr/bin/ld: cannot find -lstdc++: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:2 (project)
Building Linux application...
Exception: Unable to generate build files
flutter doctor的输出
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.8, on Ubuntu 22.04.1 LTS 5.15.0-53-generic, locale en_IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2021.3)
[✓] Connected device (2 available)
[✓] HTTP Host Availability
• No issues found!
clang++ --version 的输出
Ubuntu clang version 14.0.0-1ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
我注意到 /usr/lib/libstdc++.so
不见了,所以手动创建了一个符号链接(symbolic link)sudo ln -s/usr/lib/x86_64-linux-gnu/libstdc++.so.6/usr/lib/libstdc++.so
.
然后我在 flutter run
上遇到了这个错误
Launching lib/main.dart on Linux in debug mode...
/usr/include/glib-2.0/glib/glib-typeof.h:39:10: fatal error: 'type_traits' file not found
/usr/include/glib-2.0/glib/glib-typeof.h:39:10: fatal error: 'type_traits' file not found
/usr/include/glib-2.0/glib/glib-typeof.h:39:10: fatal error: 'type_traits' file not found
/usr/include/glib-2.0/glib/glib-typeof.h:39:10: fatal error: 'type_traits' file not found
/usr/include/glib-2.0/glib/glib-typeof.h:39:10: fatal error: 'type_traits' file not found
/usr/include/glib-2.0/glib/glib-typeof.h:39:10: fatal error: 'type_traits' file not found
最佳答案
我在升级系统后遇到了类似的问题。过了一会儿,我意识到这是因为 nvidia-driver-520-open
安装gcc-12
.我用 clang-15
我用脚本安装的 installClang15.sh . clang-15
依赖并因此安装 libstdc++-11-dev
和 gcc-11
.问题是一旦gcc-12
已安装,clang++
自动拾取它而不是 gcc-11
.这可以通过 clang++ --verbose
确认输出类似
Ubuntu clang version 15.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
libstdc++-12-dev
感谢 this GitHub comment,我想到了这个解决方案.这是最简单的解决方案,但它有一些缺点。在 Ubuntu 上,您可以使用
安装软件包sudo apt install libstdc++-12-dev
我面临的缺点是:
nvidia-driver-520-open
需要 gcc-13
?我将不得不再次弄清楚为什么会出现此错误,然后安装 libstdc++-13-dev
,这可能需要再次更新一些代码。clang++
的 gcc 安装使用我没有找到任何干净简单的方法来做到这一点,但有一些方法。 clang-16
,截至 2022 年 11 月 28 日尚未发布,但在 building clang 时可用, 有一个新选项 --gcc-install-dir
描述 here .这修复了编译:
$HOME/src/llvm-project/staging/bin/clang++ --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/11 a.cpp
哪里a.cpp
是一个普通的 C++ “Hello World!”程序
#include <iostream>
int main() { std::cout << "Hello World!" << std::endl; }
旧版本 clang
有选项 --gcc-toolchain
,由于描述的原因,它不是很有用 on llvm's discourse .不过,你还是可以别出心裁,为所欲为this Stack Overflow answer建议。 TL;DR 是
sudo mkdir --parents /opt/gcc-root/lib/gcc/x86_64-linux-gnu
sudo ln --symbolic /usr/lib/gcc/x86_64-linux-gnu/11 /opt/gcc-root/lib/gcc/x86_64-linux-gnu/11
sudo ln --symbolic /usr/include /opt/gcc-root/
ln --symbolic /usr/include /opt/gcc-root/
很重要,否则我遇到了增量构建的问题。然后,你应该能够编译
clang++ --gcc-toolchain=/opt/gcc-root a.cpp
这留下了一个悬而未决的问题:“我如何在系统范围内集成这个编译器选项?”我在这里没有找到任何令人满意的答案。
export CCC_OVERRIDE_OPTIONS=^--gcc-toolchain=/opt/gcc-root
如所述here并记录在案 on GitHub .这可能是针对此问题的最佳解决方案。clang++
的 shell 脚本包含 #!/usr/bin/env bash
/usr/local/bin/clang++ --gcc-toolchain=/opt/gcc-root "$@"
然后使用 export CXX=<PATH_TO_SCRIPT>/clang++
.这在实践中工作得很好:这是我快速而肮脏的修复。但是,我担心工具链中的其他工具(如 clang-tidy
或 clangd
)如果未通过选项 --gcc-toolchain
可能会出现问题。 .根据您的设置方式,他们可能看不到该选项,因为它不在文件 compile_commands.json
中。使用 CMAKE_EXPORT_COMPILE_COMMANDS
CMake variable 创建.clang++
例如,fixed-gcc-root-clang++
, 然后你创建一个文件 fixed-gcc-root-clang++.cfg
在适当的位置(对于 clang-15
,它是 /usr/lib/llvm-15/bin
)包含选项 --gcc-toolchain=/opt/gcc-root
.最后,您使用 export CXX=fixed-gcc-root-clang++
.一个问题是,如果某人或某物(例如 IDE)使用 clang++
直接,您的配置文件将不会被读取。如果指向 fixed-gcc-root-clang++
的新符号链接(symbolic link),您也会遇到问题被创建,例如 c++ -> fixed-gcc-root-clang++
, 因为在这种情况下,不会读取配置文件。nvidia-driver-520-open
安装了一个新的传递依赖项)在 C++ 构建系统中找到了解决方案。因此,the separation of concerns不尊重原则。关于ubuntu - "/usr/bin/ld: cannot find -lstdc++: No such file or directory"正在运行 flutter linux 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74543715/
我有一个加号/减号按钮,希望用户不能选择超过 20 个但不知道如何让它工作。我尝试使用 min="1"max="5 属性,但它们不起作用。这是我的代码和一个 fiddle 链接。https://jsf
我正在尝试复制顶部底部图,如示例 here但它没有正确渲染(紫色系列有 +ve 和 -ve 值,绿色为负值)留下杂乱的人工制品。我也在努力创建一个玩具示例来复制这个问题,所以我希望尽管我缺乏数据,但有
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 6 年前。 社区去年审查了是
这个问题在这里已经有了答案: Adding two positive integers gives negative answer.Why? (4 个答案) 关闭 5 年前。 我遇到了一个奇怪的问题
有谁知道如何将字符串值类型 -4,5 或 5,4 转换为 double -4.5 或 5.4? 最佳答案 只需使用 Double.parseDouble(Locale, String); 糟糕,我很困
我正在尝试根据 TextBlob 分类插入一个仅包含“正”或“负”字符串的新数据框列:对于我的 df 的第一行,结果是 ( pos , 0.75, 0.2499999999999997)我想要' 正
我对 VBA 非常陌生,无法理解如何在一个循环中完成 2 个任务。我非常感谢您的帮助。 我已经能够根据第 3 列中的数据更改第 2 列中的数值,但我不明白如何将负值的字体更改为红色。 表格的大小每月都
欢迎, 我正在使用 jquery 通过 POST 发送表单。 这就是我获得值(value)的方式。 var mytext = $("#textareaid").val(); var dataStrin
double d = 0; // random decimal value with it's integral part within the range of Int32 and always p
我有这个字符串: var a='abc123#xyz123'; 我想构建 2 个正则表达式替换函数: 1) 用 '*' 替换所有确实有 future '#'的字符(不包括'#') 所以结果应该是这样的
我正在使用 DialogFragment。当用户从 Gmail 平板电脑应用程序的屏幕与下面示例图片中的编辑文本进行交互时,我希望正面和负面按钮保持在键盘上方。 在我的尝试中不起作用,这是我的 Dia
从组装艺术一书中,我复制了这句话: In the two’s complement system, the H.O. bit of a number is a sign bit. If the H.O
是否有更好更优雅的方法来实现下面的简单代码(diffYear、A 和 B 是数字): diffYear = yearA - yearB; if (diffYear == 0) { A = B
我正在设计一种语言,并尝试确定 true 应该是 0x01 还是 0xFF。显然,所有非零值都将转换为 true,但我正在尝试确定确切的内部表示。 每种选择的优点和缺点是什么? 最佳答案 没关系,只要
在我的 dialogfragment 类的 OnCreateDialog 中,我正在这样做: AlertDialog.Builder builder = new AlertDialog.Builder
这个问题在这里已经有了答案: Resolving ambiguous overload on function pointer and std::function for a lambda usin
我偶然发现了一个奇怪的 NSDecimalNumber 行为:对于某些值,调用 integerValue、longValue、longLongValue 等,返回意想不到的值(value)。示例: l
这个问题在这里已经有了答案: Resolving ambiguous overload on function pointer and std::function for a lambda using
我有这个正则表达式来测试用户输入是否有效: value.length === 0 || value === '-' || (!isNaN(parseFloat(value)) && /^-?\d+\.
我想用高斯混合模型拟合数据集,数据集包含大约 120k 个样本,每个样本有大约 130 个维度。当我使用 matlab 执行此操作时,我运行脚本(簇号为 1000): gm = fitgmdist(d
我是一名优秀的程序员,十分优秀!