gcc - C 代码在带有 Ubuntu 18.04 的虚拟机上编译,而不是在 Crouton 上编译:Struct redef 错误
问题描述
我有一个用于相机的 SDK,可以在我通过虚拟机运行的 Ubuntu 18.04 上正常工作。我试图让相机在我的 chromebook 上工作,所以我安装了crouton。但是,当我尝试在 crouton 上复制该过程时,我在运行 make 时收到错误消息:
错误:重新定义“struct sched_param”
在这两种情况下使用相同版本的 gcc。
解决方案
您的问题中没有太多信息(您要编译哪些来源?什么是最小复制器?),但修复可能是沿着这些路线。源文件之一使用
#include <linux/sched.h>
你需要用
#include <sched.h>
并确保您使用-D_GNU_SOURCE
. 我怀疑您正在尝试编译一段较旧的代码,并且通常需要为旧代码清理这种混合的内核/glibc 标头包含。
推荐阅读
- pandas - 使用 pandas.eval 或 df.apply 更新 pandas 数据集
- powershell - 是否可以通过 powershell /graph api 配置密码重置配置?
- arrays - 是否可以在 MATLAB 中制作向量数组?
- unit-testing - 颤振单元测试 - 无法抽出完整的小部件树
- amazon-web-services - Trying to give IAM user rights to create and assign roles, but limit the type of policies available
- sql - 使用一次后无法访问运行时表 @updated
- python - Python nb_divide 在 Python 3 中不再可用
- regex - 如何从具有大量数据的单元格中获取特定值
- gmail - 将消息添加到 gmail 错误“有效负载部件计数与预期不同”
- python - 如何使用线程从另一个类访问列表