我现在的makefile有一些问题。我有一个cpp文件和一个h文件。我正在尝试使用c++11标准进行编译。这是我的makefile:
OBJECTS = main.o
#List all object files here separated by a space
HEADERS = main.h
#List all header files here seperated by a space
lab8: $(OBJECTS)
g++ $^ -o program3
%.o: %.cpp $(HEADERS)
g++ -std=c+
当我尝试用.o文件编译可执行文件时,我遇到了makefile错误列表:
g++ -g -Wall -o main main.o `pkg-config --cflags --libs gtkmm-3.0`
main.o: In function `_start':
(.text+0x0): multiple definition of `_start'
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/../../../../lib/crt1.o:(.text+0x0): first defined here
main.o: In fun
我使用NDK 18,并使用x86_64 NDK独立工具链分别编译一个静态库。我可以成功地链接它,但是当我试图以一种非平凡的方式访问库时,我在构建时会遇到数十个错误,比如:
... requires dynamic R_X86_64_PC32 reloc against '_ZZN4seal4util21get_msb_index_genericEPmmE15deBruijnTable64' which may overflow at runtime; recompile with -fPIC
有关构建文件的详细信息,请参阅前面的问题:
按照这里的建议:确保用-fPIC编译静态库
这不是一个复制,因为虽然错误是相同的,但我的用例与其他的不同。
我正在编译一个go应用程序,以便部署到:
最新的arch linux 最新坞版,golang:高山图像尝试了go版本1.13.3和1.14.4 linux amd64,我没有bash脚本或错误的文件结尾。整个项目都是在Linux机器上编写的,我可以部署一个空的go应用程序,它只有fmt打印,没有任何错误。
然而,
当我在OSX机器上构建它并将它发送到linux时,我可以将该可执行文件部署到docker,而不会出现任何错误。
mojavelatest OSX go 1.13.3GOOS=linux
错误:
standard_init
我只是从C开始,我试图编译下面的代码并执行它,但我得到了一个错误。
运行size也没有显示BS或数据堆栈中的任何内容吗?
#include<stdio.h>
/* test.c: My first C program on a Linux */
int main(void)
{
printf("Hello! This is a test prgoram.\n");
return 0;
}
编译作品:
gcc -c test.c -o test
正在执行:
bash: ./test: cannot execute binary file: Exec format
我正在尝试交叉编译适用于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
我有一个非常简单的c代码,它可以将一个字符串打印到我的linux命令行。当我在编译这个程序的主机上运行这个程序时,它会打印到我的CLI。当我将它移到另一个linux主机时,它会抛出一个错误“浮点异常”。
#include <stdio.h>
int main(void){
printf("My first C program\n");
return 0;
}
编译它的主机是
Linux Kali Debian 4.17.8 GCC版本8.2.0
主持我试图执行的
Debian Linux 4.0