我有个简单的问题。
这是我的制作文件
#############################################################################
#
# Makefile for building the Long Range Navigator program
#
#############################################################################
PC = true
#PC = false
PWD := $(shell pwd)
#GUMSTIX_BU
我猜问题在于g++版本7.3.0仍然使用旧的stdc lib,我不确定..
我该怎么检查呢?如何升级到新版本,因为应用程序的运行时错误
看起来像这样:
./a.out
./a.out: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./a.out)
./a.out: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./a.out)
这就是我现在所拥有的:
g++ -v
Using built-i
为什么下面列出的程序可以在mac osx和linux上运行,但不能在freebsd上运行?
在抛出异常后,freebsd核心转储将显示以下消息:
terminate called after throwing an instance of 'ObjectException'
what(): error not allowed
[1] 28946 abort (core dumped) ./bin/main
在所有三个平台上,我都使用gnu编译器。
freebsd g++ --版本: g++ (GCC) 4.2.1 20070719
mac os x g++ --版
我刚开始使用Eclipse并开发一个将在Linux上运行的应用程序(在ARM处理器上)。我想使用OpenCV库(.so文件)。我的应用程序由链接到多个静态库的可执行文件组成。这个链接是在IDE设置(ARM linux g++链接器设置)中配置的。我需要在这些静态库中使用openCV。openCV库包括在中安装的.so文件。是否可以从我的静态库中链接到这些库?我不知道该怎么安排。显然,静态库项目中没有g++链接器设置。谢谢你的帮助。
谁能告诉我这是什么意思?
/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [program] Error 1
我的make文件如下所示:
program : main.o render.o screenwriter.o
g++ -o main.o render.o s
我有一个共享库,由另一个我无法控制的应用程序使用,它需要*.so对象。我的库使用了需要静态链接的sqlite3 (我绝对需要一个自包含的二进制文件)。
当我试图编译和链接我的库时:
-fpic -flto -pthread -m64
-flto -static -shared
最后会出现以下错误:
/usr/bin/ld: /usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/crtbeginT.o: relocation R_X86_64_32 against `__DTOR_END__' can not be used when mak
我在编译一个项目时遇到了麻烦,主要是链接对象。链接者抱怨:
$ g++ -o bin/program obj/linux64/Debug/src/main.o [... more object files ...] ../../../addons/obj/linux64/Debug/ofxLua/libs/lua/lua/lapi.o [...many other object files and libraries...]
../../../addons/obj/linux64/Debug/ofxLua/libs/luabind/src/scope.o: In function `~lua
在编译少量测试应用程序时,我得到以下错误:
g++: error: −lboost_system: No such file or directory
g++: error: −lboost_filesystem: No such file or directory
在运行以下命令时:
g++ -I/usr/include/boost/ -L/usr/lib/x86_64-linux-gnu/ aescuda.cpp -o test.o −lboost_system −lboost_filesystem
这些库已安装并显示在以下位置:
<prompt>$ ll /usr/lib