GCC — Связывание bass.lib в Ubuntu

Я написал приложение для Windows, используя CPP и BASS, и теперь мне нужно запустить его в Linux (UBUNTU).

I am using gcc version 4.5.2.

У меня есть bass.lib в моем каталоге, из которого я пытаюсь скомпилировать prog.cpp, используя следующие аргументы команды:

gcc prog.cpp -L. -lbass.lib

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

/usr/bin/ld: cannot find -lbass.lib
collect2: ld returned 1 exit status

Я полагаю, что это ошибка компоновки, компилятор не находит Bass.lib, но я указал в качестве аргумента в командной строке.

Не уверен, что делать, любая помощь была бы действительно здоровой.


person slotishtype    schedule 02.09.2011    source источник
comment
Ваш bass.lib скомпилирован под linux? Соглашения об именах для библиотек в системах POSIX будут libbass.a или libbass.so (но это не все об имени...)   -  person Antonio Pérez    schedule 02.09.2011
comment
Хорошая точка зрения. Позвольте мне проверить это, поскольку я не уверен.   -  person slotishtype    schedule 02.09.2011


Ответы (1)


bass.lib звучит как библиотека Windows. Вы не можете использовать библиотеки, созданные в Windows (вероятно, созданные с помощью компилятора MSVC), в Linux.

Linux-версия библиотеки, по-видимому, называется libbass.so , и в этом случае вы должны использовать -lbass в качестве аргумента компоновщика и, возможно, другие флаги компилятора/компоновщика, в зависимости от того, где в системе вы устанавливаете библиотеку. В файле bass.txt, загруженном из libbass для Linux, есть несколько заметок о том, что делать в Linux.

person nos    schedule 02.09.2011
comment
Ура, я новичок в CPP, и поэтому мне немного трудно понять это. - person slotishtype; 02.09.2011