创建C++在Linux中使用OpenCV的动态库
creating C++ dynamic library which uses opencv in linux
我正在尝试在Linux中创建一个共享库,该程序使用opencv和tesseract与动态链接
我关注了链接我的代码如下
g++ -c Serial_Key.cpp -fPIC -o cdserial `pkg-config --cflags --libs opencv` -llept -ltesseract
g++ -shared -Wl,-soname,libctest.so.1 -o libctest.so.1.0 cdserial
ln -sf libctest.so.1.0 libctest.so
ln -sf libctest.so.1.0 libctest.so.1
g++ -c Test.cpp -fPIC -o cprog -lctest `pkg-config --cflags --libs opencv` -llept -ltesseract
这里Test.cpp是一个简单的文件,如下所示
#include <stdio.h>
int Serial_key();
int main(){
int x=Serial_key();
printf("Success");
return 0;}
不知何故,它为 ./cprog 提供了错误./cprog:无法执行二进制文件:执行格式错误
我觉得我在第二行犯了一些根本性错误(g++ -共享)请指导
嘎吱,我在上面提到的问题中发现了几个愚蠢的错误
这是针对可能遇到类似问题的其他人的更正流程
首次编译
g++ -c Serial_Key.cpp -fPIC -o cdserial
通过提及库及其路径来创建共享库
g++ -shared -wl,-soname,libctest.so.1 -o libctest.so.1.0 cdserial -lopencv_highgui -lopencv_imgproc -lopencv_core -lopencv_imgcodecs -lopencv_videoio -llept -ltesseract -L/usr/local/lib
将 soname 与库链接
ln -sf libctest.so.1.0 libctest.so ln -sf libctest.so.1.0 libctest.so.1
编译并创建测试文件的对象
g++ Test.cpp -fPIC -o cprog -lctest -lopencv_highgui -lopencv_imgproc -lopencv_core -lopencv_imgcodecs -lopencv_videoio -llept -ltesseract -L/usr/local/lib
将共享库文件复制到本地库
cp libctest.so/usr/local/libcp libctest.so.1/usr/local/libcp libctest.so.1.0/usr/local/lib
确保$LD_LIBRARY_PATH 指向共享库路径
导出 LD_LIBRARY_PATH=/usr/local/lib
跑
./cprog
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- C++中的动态铸造故障
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 尝试导入pybind-opencv模块时出现libgtk错误
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将OpenCV C++重写为EmguCV C#-如何使用指针
- 内联映射初始化的动态atexit析构函数崩溃
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 控制允许动态运行c++的并发操作数
- 如何使用cmake设置OpenCV以启用动态和静态构建
- 如何为 OpenCV 的视频编写器动态选择可用的编解码器?
- 如何创建*.所以文件动态链接OpenCV为Android
- OpenCV,显示动态二维数组作为图像(到Mat对象)
- 在C++中使用opencv创建动态库
- 创建C++在Linux中使用OpenCV的动态库
- 使用 OpenCV 进行动态背景分离和可靠的圆圈检测