簡體   English   中英

嘗試構建共享庫g ++ / mac時未定義的符號_main

[英]Undefined symbol _main when trying to build shared library g++ / mac

我想在mac上構建libdecodeqr。 我的c ++構建和鏈接歷史都在windows上,所以這是一個令人興奮的發現之旅。

我終於到了想要創建鏈接庫的地步。 我正在運行的命令是:

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(){return 0;}添加到其中一個cpp文件並重建。 整個事情編譯和鏈接,但當我嘗試將輸出用作庫時,我得到錯誤告訴我,我無法鏈接到主可執行文件。 我覺得這很有道理。

還有什么我需要傳遞給g ++來告訴它構建一個庫嗎?

-shared不支持OSX。 使用-dynamiclib-bundle (取決於您要創建的共享庫類型)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM