试图建立共享库克++ / MAC时未定义的符号_main(Undefined symbol _mai

2019-07-20 02:40发布

我想建立一个MAC libdecodeqr。 我的C ++建设和联历史上的所有窗口,所以它的发现令人兴奋的旅程。

我终于得到了我想要创建链接库点。 我运行的命令是:

g++ -shared -o libdecodeqr.so.0.9.3 bitstream.o codedata.o container.o ecidecoder.o formatinfo.o galois.o imagereader.o libdecodeqr.o -L/opt/local/lib -arch i386 -lcxcore -lcv

其结果是:

Undefined symbols:
    "_main", referenced from:
       start in crt1.10.5.o

我的印象是一个创建使用-shared标志库意味着我不应该需要一个主要功能下。 当然是有没有一个在源代码中。

只是踢我加INT的main(){返回0;}在cpp文件之一,并重建。 整个事情编译和链接,但是当我试图使用输出作为一个库我的错误告诉我,我不能链接到主可执行文件。 这是有道理的,我猜。

有没有别的东西,我需要传递给G ++来告诉它建立一个图书馆吗?

Answer 1:

-shared不支持OSX。 二者必选其一-dynamiclib-bundle (取决于哪种类型要创建的共享库)。



文章来源: Undefined symbol _main when trying to build shared library g++ / mac