Невозможно скомпилировать разделяемые.o файлы с помощью g++

Когда я скомпилирую с помощью следующей команды:

g ++ -fPIC -o obj / buffer.o buffer.cpp

Я получаю следующую ошибку:

/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crt1.o: в функции _start': (.text+0x20): undefined reference toглавный'

Мне кажется, с флагом -fPIC мне не нужна основная функция. Я получаю эту ошибку со всеми файлами cpp. У меня есть main.cpp, в котором есть функции общей библиотеки. Вы можете получить исходный код по следующему адресу:

git clone https://github.com/nterry/39DLL-4-Linux.git

Есть идеи? Я знаю, что могу использовать двоичный файл ld, чтобы поместить все o файлы в a, так что, как только они закончат, мне просто нужна помощь для встраивания их всех в разделяемые файлы.o

1 ответ

Решение

Я думаю, что я ответил на мой вопрос. Я добавил -c к команде, и это, кажется, сработало. Вот команда, которую я использовал:

g++ -fPIC -c -o obj/list.o list.cpp

Это один из нескольких файлов cpp, и все вроде бы работает.

Другие вопросы по тегам