我通过JNI在我的Android应用程序中使用OpenCV。libopencv_java.so太大了,大约有7M。显然,我只需要几个库。我检查了OpenCV4Android中的库,发现了一些静态库,比如libopencv_core.a。这是我用Android.mk编写的新代码,其中包含了必要的OpenCV库。我还介绍了libopencv_core.a、libopencv_highgui.a、libopencv_imgproc.a和一些第三方库,它们是: liblibjasper.a、liblibjpeg.a、liblibpng.a、liblibtiff.a。
include $(CLEAR_V
我有一个共享库,由另一个我无法控制的应用程序使用,它需要*.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
我刚开始使用Eclipse并开发一个将在Linux上运行的应用程序(在ARM处理器上)。我想使用OpenCV库(.so文件)。我的应用程序由链接到多个静态库的可执行文件组成。这个链接是在IDE设置(ARM linux g++链接器设置)中配置的。我需要在这些静态库中使用openCV。openCV库包括在中安装的.so文件。是否可以从我的静态库中链接到这些库?我不知道该怎么安排。显然,静态库项目中没有g++链接器设置。谢谢你的帮助。
我想用C++编写一个应用程序,并在其中使用MySQL数据库。我使用了库。所以我克隆了它,并在windows 2019中编译了它,它运行得很好。但是,当我想在Raspbian中这样做时,我得到了下面的链接错误:
/usr/bin/ld: /tmp/ccJjO2Jo.o: in function `main':
sqltest.cpp:(.text+0xd8): undefined reference to `mariadb::account::create(std::__cxx11::basic_string<char, std::char_traits<char>,
我有些怀疑:
用例:
A static library containing a global variable, static variable, a function
and a class defined
A shared library uses these and hence they are part of the same.
A executable program also uses the same and they are part of the same.
The executable loads the shared library