我对我的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文件位于不同的目录中。我的文件看起来像这样
CC = cc
SRCDIR = src
OBJDIR = bin
TARGET = main # output binary
# do not edit below this line
SOURCES = $(shell find $(SRCDIR) -type f -name *.c)
OBJECTS = $(patsubst $(SRCDIR)/%,$(OBJDIR)/%,$(SOURCES:.c=.o))
#Flags, Libraries
CFLAGS := -I. -c
LIB :=
all:
我正在尝试交叉编译适用于Mips处理器的Azure IoT SDK C。使用老版本的CMake (2.8.12.2)交叉编译同一个SDK的老版本就可以了,所以我怀疑这是代码本身。我猜是Mips的GCC编译器。
错误消息:
CMake Error at /usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler
"/usr/local/mipsisa32r2el/r23/bin/mipsisa32r2el-axis-linux-gnu-gcc"
is n
我编写了一个程序,需要在Linux、Windows和Solaris中进行测试。前两件事很容易,但是Solaris一直很麻烦。我在Solaris机器上没有g++,我正在运行这些测试,所以我只能使用cc。所以,我第一次尝试
cc -g -o transfer transfer.cpp -lcurl
产出如下:
ld: fatal: file transfer.cpp : unknown file type
ld: fatal: no output written to transfer
如果有人知道其他C++编译器的Solaris,请让我知道,我会给它拍摄。我去了Oracle网站,他们说他们支持c
我从英特尔网站下载了MPSS软件栈版本3.5.2源代码。我正在尝试从源代码编译xeon端口GCC (移植自GCC 4.7.0),并将其安装在本地子目录中。但是,我得到了以下错误-
k1om-mpss-linux-gcc -dumpspecs > tmp-specs
/bin/sh: k1om-mpss-linux-gcc: command not found
我的配置如下-
# The below directory contains the cross compiled libs
# like assembler and linker
export PATH=$HOME/xeon-ph
我正在尝试使用arm- linux -androideabi-g++工具从linux编译用于android的.cc文件。它包括#include<algorithm>。
当我试图编译它时,我得到了这个错误:
fatal error: algorithm: No such file or directory我想我应该用-I标志将库头指向编译器,但是我不确定它应该在什么目录。
有谁知道怎么编译它吗?
我尝试在ndk包中查找头文件:
./toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/5.0.300080/include/cuda_wra
我有一个根目录和一个子目录。我计划将这些函数放在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
我用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