我正在尝试将一个C文件编译成Rolling Spider。但我弄错了。
Drone: Trying to pack autogenerated code using PackEmbeddedCode...
C-files are being packed...
C-files packed and ready to be built!
Drone: Autogenerated code using PackEmbeddedCode packed!
Drone: Trying to build code...
/opt/arm-2012.03/bin/arm-none-linux-gnueab
我有一个根目录和一个子目录。我计划将这些函数放在libfunc.o下的子目录中
此libfunc.o应与顶级目录中的其他目标文件一起合并。但是我得到了一个错误:
$make all
cd folder; make libfunc.o
make[1]: Entering directory `/home/Work/test_makefile/folder'
cc -c -o func2.o func2.c
cc -c -o func3.o func3.c
func3.c: In function ‘set’:
func3.c:3:25: warning: ini
我对我的Makefile有个很混乱的问题
我正在使用它构建一个具有条件编译的linux和windows的单元测试可执行文件。
对于从src代码构建对象文件的规则,它遗漏了某些文件。它似乎没有一个模式,比如所有丢失的文件都来自某个特定的目录--它只是随机地将我的src文件中的一些输出出来。
我的Makefile看起来如下:
TARGET := test_glamdring2
program_NAME := $(TARGET)
#WIN32 - need to install hg on WIN32 platform for this line to work
#HGVERSION:= $(sh
我想将一个.c文件编译成一个.o文件,以便在以后的单独阶段中,我可以将它与其他文件链接起来,生成一个可加载的模块(.ko文件)。
我尝试遵循Kbuild文档(2.4 ),但没有成功:
obj-m: myfile.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$PWD/ myfile.o
输出为:
$ make
cc -c -o myfile.o myfile.c
myfile.c:42:26: fatal error: linux/printk.h: No such file or director
我正面对(Kbuild,内核≥2.6.28)的目录结构,并为更大的项目构建系统。我们的项目包含一个树外Linux内核模块,我们的目录结构看起来如下(显然是简化的):
checkout/src/common/*.c source files (common to Linux and other platforms)
checkout/src/linux-driver/*.c source files (for the Linux kernel driver)
checkout/build/linux/Kbuild Kbuild
tmp/linux-2.6.
我正在尝试添加Makefiles到我的嵌入式项目,已经尝试创建一个小项目,但我得到链接错误时,在子目录中的文件,你能帮助你们,错误是:
arm-linux-gnueabi-gcc -c -o hellofun.o hellofun.c -I. -I./include
hellofun.c: In function ‘myPrintHelloMake’:
hellofun.c:6:14: warning: initialization makes pointer from integer without a cast [enabled by default]
hellofun.c:7:24:
我在.c文件和main.c文件中有3个分开的函数,我想制作make文件,我在文件中写道:
# Indicate that the compiler is the gcc compiler
CC=gc
# Indicate to the compiler to include header files in the local folder
CPPFLAGS = -I
main: method1.o
main: method2.o
main: method3.o
main: method4.o
main.o: main.h
而方法1、2、3、4是主.c的函数,当我在shell中输入make
我正在尝试用工具集构建zlib。作为构建过程的一部分,源文件应该被编译成带有arm-linux-gnu-eabi-gcc -c的对象,然后用libtool组合成一个归档文件,但是libtool失败了,并抱怨每个.o文件都传递给它is not an object file (not allowed in a library)。
经过检查,我发现arm-linux-gnu-eabi-gcc -c正在生成ELF文件,而不是对象文件,这是我以前从未见过的。当我将-c -v传递给编译器时,我可以看到链接器没有被调用。那么为什么是ELF格式呢?
然后,我尝试调用arm-linux-gnu-eabi-gcc
/tmp/ccTQFVCP.o: In function `whiteSpace':
/home/tommo/fly/flyc/config.c:12: multiple definition of `whiteSpace'
/tmp/cc0ccMfz.o:/home/tommo/fly/flyc/config.c:12: first defined here
/tmp/ccTQFVCP.o: In function `lineEnd':
/home/tommo/fly/flyc/config.c:16: multiple definition of `lineEnd&
我试图构建一个依赖于几个源文件的可加载内核模块,但我得到了以下错误:
/home/.../Uart.h:3:28: fatal error: linux/spinlock.h: No such file or directory
#include <linux/spinlock.h>
^
主模块代码都在一个文件中(称为"xdev.c")。这些依赖项主要是我需要在模块中调用的函数,并包含在它们的头文件中。我把文件整理成这样:
./
bin/
This is where I want th
我正在尝试创建一个通用的makefile来构建我的项目使用的静态库。我使用了这个站点上的专业知识,以及GNU Make手册来帮助编写以下makefile。除了一个恼人的问题之外,它工作得很好。
# Generic makefile to build/install a static library (zlib example)
ARCH = linux
CFLAGS = -O3 -Wall
# List of source code directories
SOURCES = src test utils
# List of header files to install
我无法用python加载共享对象库。我尝试将LD_LIBRARY_PATH设置为someObject.o所在的位置,当我使用非sudo命令运行python脚本时,这是可行的,但是当我使用sudo时,会遇到链接错误。
OSError: bbumintflib.o: cannot open shared object file: No such file or directory
有人知道如何将.o文件链接到.so文件吗?
使用ldd,我知道.so找不到.o文件。
>>>ldd someSharedObject.so
linux-vdso.so.1 (0x00007ffca69a
我正试着再次学习使用makefiles。我有这样一个目录结构:
build
|- Makefile
|- Project files, like visual studio project
tmp
|- $(os name)_$(compiler)
|- *.o and any other intermediate files
bin
|- $(os name)_$(compiler)
|- the compiled binary executable
|- debug info, if any
src
|- *.cpp, *.h
因此,我在谷歌和实