我有一个货运项目,有一个库和一个二进制文件。这个库可以在包括Android在内的许多平台上使用,而二进制文件只能在Linux上使用。因此,二进制文件包含了一堆特定于Linux的代码,当我以Android为目标时,这些代码不会编译。是否有一种方法可以指定(不使用特性)只在Linux上编译二进制文件?
我尝试将#![cfg(target_os = "linux")]放入二进制文件的main.rs中,但随后得到了以下错误:
error[E0601]: `main` function not found in crate `server`
--> src/bin/server
我用sshfs将目标设备(Beaglebone,手臂弓)根安装到主机上的一个文件夹中,并试图使用GCC的--sysroot选项进行交叉编译。
但是存在一个问题--一些包含头文件位于目标设备上,不仅位于/usr/include文件夹,而且位于其子文件夹arm-linux-gnueabihf中。同样,也有/usr/lib/arm gnueabihf文件夹。
"Hello“示例无法编译
[gmixaz:/work] $ $CC --sysroot=/work/sysroot h.c
In file included from /work/sysroot/usr/include/stdio.h
我的理解是,当使用-P选项显式设置配置文件时,它是独占的,无论发生什么情况,该配置文件都应该被激活。
在我的例子中,在运行命令mvn clean compile -Pcross-compile之后,cross-compile配置文件被忽略,build-linux-amd64被激活。
这里发生了什么,为什么没有调用cross-compile?
我的配置文件配置如下:
<profiles>
<!-- Cross-compile profile (can only be run under linux os) -->
<profile&g
我正试图在ubuntu12.04LTS上安装一个英特尔e1000以太网卡驱动程序。当我打字时
制造安装
发生以下错误:
Makefile:111:* Linux内核源代码未配置-缺少version.h。停止播放。
在自述文件中,您说:
当试图通过运行make编译驱动程序时,可能会发生以下错误:
"Linux内核源代码未配置-缺少版本.h“
要解决这个问题,请转到Linux源代码树并输入:
make include/linux/version.h。
我尝试在/usr/src/linux*******文件夹中运行这个命令,但是没有结果。
(
i have linux
当我像下面给出的那样编译两个.c文件时,我得到一个非常奇怪的错误。
终端编译代码
gcc -I. -o main.c matrix.c -lblas -lgfortran
错误:
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has in
从昨天起,我对linux还很陌生。我正在使用linux小狗,试图从一个10岁的,缓慢的笔记本电脑中得到最大的好处。我安装的很好,没有问题,但是一旦我尝试使用我的usb的安装CD,问题就开始了。
CD包括对linux和windows的支持,因此我从CD中复制了linux文件,并通过控制台运行install.sh文件以方便安装驱动程序。一切看起来都很顺利直到..。我得到以下错误:
make: *** /lib/modules/2.6.37.6/build: No such file or directory. Stop.
然后显示错误2消息。
这是我唯一能找到的关于它的任何信息的web结果,但是我