2016-08-19 5 views
0

Я пытаюсь связать файл * .so при компиляции кода C с использованием компилятора GCC на машине AIX, но не смог этого сделать. Используя традиционные опции -L и -l для имени пути и .so соответственно, дает «не удалось найти ошибку», установка LD_LIBRARY_PATH тоже не помогла. Я понимаю, что в AIX существуют разные варианты компоновки ссылок. Но я не могу понять правильные варианты. Можете ли вы ответить на мой запрос на примере.AIX: Как связать файл * .so в AIX с компилятором GCC

Спасибо,

ответ

1

Используйте опцию -Wl,-brtl, чтобы иметь возможность использовать *so* общие объекты.

Edit (первый вариант либо -maix32 или -maix64 в зависимости от контекста):

gcc -maix32 -o example -Wl,-brtl example.c /var/tmp/lib/librequired.so 

или

gcc -maix32 -o example -Wl,-brtl example.c -L/var/tmp/lib -lrequired 
+0

Я использовал этот вариант, но получил "а не COFF файл" ошибка. Предположим, у меня есть файл библиотеки librequired.so в пути «/ var/tmp/lib» и файл C. example.c с файлом заголовка «example.h». Теперь вы можете сказать мне, что может быть полной командой gcc. спасибо –

+0

@Sandeep, то это, вероятно, не файл coff. Что говорит 'файл/var/tmp/lib/librequired.so'? –