Я пытаюсь создать libdecodeqr на mac. Мое построение C++ и привязка истории - все на окнах, поэтому это захватывающее путешествие открытия.Неопределенный символ _main при попытке создания общей библиотеки g ++/mac
Я, наконец, добрался до точки, где хочу создать связанную библиотеку. Команда, которую я бегу это:
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 ++, чтобы рассказать об этом, чтобы построить библиотеку?
Perfect, спасибо. –