【发布时间】:2016-07-15 10:10:46
【问题描述】:
我正在尝试在 linux 中为一个使用 opencv 和 tesseract 以及动态链接的程序创建一个共享库
我关注了link 我的代码如下
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: 无法执行二进制文件:执行格式错误
我觉得我在第 2 行犯了一些根本性错误(g++ -shared) 请指导
【问题讨论】:
标签: c++ linux opencv shared-libraries