Компилятор не создает исполняемый файл - PullRequest
0 голосов
/ 31 января 2012

Я перекомпилировал существующие исходные файлы, но не смог создать исполняемый файл, хотя сгенерированный файл имеет разрешение на выполнение

-rwxrwxr-x   1 ilvweb ilv      2949112 Jan 31 09:34 karny

$ file karny
karny: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped

Команда, используемая для компиляции

g++ -m64 -mcpu=v9  -DSUNOS -DNDEBUG -g -Wno-deprecated  -o karny    tkm.o THlm.o Connection.o Socket.o  ThLogger.o File.o TextFile.o File.o Timer.o lPlugin.o \
            -G -lm

Есть ли пропущенная опция?

Если у нас есть и gcc, и g ++, и исходный код, написанный для g ++, чтобы перекомпилировать с gcc то, что можно сделать так же, как в настоящее время в этой среде, мы можем использовать только gcc

Ответы [ 2 ]

2 голосов
/ 31 января 2012

Согласно руководству GCC :

3.17.41 Опции для System V

Эти дополнительные опции доступны в System V Release 4 для совместимости сдругие компиляторы в этих системах:

-G Создать общий объект.Вместо этого рекомендуется использовать -symbolic или -shared.

[... snip ...]

Видя, что вы работаете с (производным от SysV) Solaris,Казалось бы, вы просите GCC создать общий объект.Есть ли конкретная причина, по которой у вас это -G?

1 голос
/ 31 января 2012

Согласно file, вы создали общий объект (который обычно называется *.so).

...